C# Xpath中用于选择值的逻辑and运算符
我有一些这样生成的XMLC# Xpath中用于选择值的逻辑and运算符,c#,xml,xpath,C#,Xml,Xpath,我有一些这样生成的XML <resource id="1759" key="8f0ab89b:fb7b:45aa:8863:5c8cf4692194" parentID="1701" level="3" creatorID="0" sortOrder="5" createDate="2018:03:28T13:59:22" updateDate="2018:04:17T15:06:25" nodeName="facebook" urlName="facebook" path=":1,137
<resource id="1759" key="8f0ab89b:fb7b:45aa:8863:5c8cf4692194" parentID="1701" level="3" creatorID="0" sortOrder="5" createDate="2018:03:28T13:59:22" updateDate="2018:04:17T15:06:25" nodeName="facebook" urlName="facebook" path=":1,1378,1701,1759" isDoc="" nodeType="1705" creatorName="Scott" writerName="Scott" writerID="0" template="0" nodeTypeAlias="resource">
<resourceImage>{
"focalPoint": {
"left": 0.5,
"top": 0.5
},
"src": "/media/9566/ddd:col_116588_020117_1999x614.jpg",
"crops": [
{
"alias": "Resource",
"width": 320,
"height": 238
}
]
}</resourceImage>
<categories>Case Studies</categories>
<resourceLink>http://facebook.com</resourceLink>
<topic>Admissions</topic>
</resource>
但是我没有对手。我可以通过使用以下参数之一使其工作:
//* [@id=1701]//*[@isDoc]/ topic[text()[contains(.,'Admissions')]]/..
但是,我确实需要能够通过这两个参数进行过滤。我怎么把逻辑运算符弄错了
谢谢您可以将所有条件放在一个谓词中,然后
和
它们。我将@id
更改为parentID
以匹配号码。否则,它将无法匹配样本数据
匹配这四个条件的XPath可以是:
//*[@parentID='1701' and @isDoc and contains(topic/text(),'Admissions') and contains(categories/text(),'Case Studies')]
//*[@parentID='1701' and @isDoc and contains(topic/text(),'Admissions') and contains(categories/text(),'Case Studies')]