2014-09-17 4 views
1

Привет У меня есть файл XML, как показано ниже,XPath фильтр на атрибут текста

<Pods> 
<item> 
    <URL>data/_data/2014/09/11/pods/10057-1837887-2965978-0.pdf</URL> 
    <RunDate>11/09/2014</RunDate> 
    <DateSigned>11/09/2014 09:13:49 
    </DateSigned> 
</item> 
<item> 
    <URL>data/_data/2014/09/11/pods/10057-0-2965978-0-scan.pdf</URL> 
    <DateSigned>Not signed</DateSigned> 
</item> 
</Pods> 

Я хотел бы получить conents на <URL> где <DateSigned> не равно «Не подписан»

У меня есть пытался

Dim URLNode As XmlNodeList = doc.SelectNodes("//ITEM[DateSigned=Not Signed]/URL") 

но это говорит о недействительном токене. Я не уверен, что я пошла пораньше.
Спасибо за любую помощь.

ответ

0

Вам нужно просто обернуть Not signed в одинарных кавычках, чтобы он был распознан как строковое значение. Кроме того, XML чувствителен к регистру, используйте правильные случаи:

Dim URLNode As XmlNodeList = _ 
       doc.SelectNodes("//item[DateSigned='Not signed']/URL") 

или, если вы на самом деле означало, чтобы получить <item> где <DateSigned>не равна Not signed:

Dim URLNode As XmlNodeList = _ 
       doc.SelectNodes("//item[DateSigned != 'Not signed']/URL") 
+0

Привет спасибо, что является = Мне нужно спасибо – user2247671

Смежные вопросы