C# XPath查询可以使用在线工具,但不能在.NET中使用
我可以通过在线xpath工具使下面的xpath与下面的xml相匹配,但我得到的表达式必须计算为节点集。.NET4.5中的异常 xpath: //*[以名称开头,子节点[标识/text='xyz']] xml: xyz abc 预期的结果是C# XPath查询可以使用在线工具,但不能在.NET中使用,c#,.net,xml,xpath,C#,.net,Xml,Xpath,我可以通过在线xpath工具使下面的xpath与下面的xml相匹配,但我得到的表达式必须计算为节点集。.NET4.5中的异常 xpath: //*[以名称开头,子节点[标识/text='xyz']] xml: xyz abc 预期的结果是 <childnode1234> <identification>xyz</identification> </childnode1234> 在线实现太放松了。Micros
<childnode1234>
<identification>xyz</identification>
</childnode1234>
在线实现太放松了。MicrosoftXPath是正确的:开始时计算为布尔值,而不是节点集。试一试
//*[starts-with(name(.), 'childnode') and identification/text()='xyz']
在线实现太放松了。MicrosoftXPath是正确的:开始时计算为布尔值,而不是节点集。试一试
//*[starts-with(name(.), 'childnode') and identification/text()='xyz']
只要改变一下:
致:
我建议避免使用未经测试且明显有缺陷的无名在线xpath工具。只需更改:
致:
我建议避免使用未经测试且明显有缺陷的无名在线xpath工具。您使用的是哪些在线工具?他们返回了什么?您是否正确复制了XPath?问题是什么;在结尾应该是什么意思?请显示真正的C字符串-现在它包含非转义双引号…我尝试过的测试人员是:&。我要带着\逃离这个世界。预期结果是:xyz您正在使用哪些在线工具?他们返回了什么?您是否正确复制了XPath?问题是什么;在结尾应该是什么意思?请显示真正的C字符串-现在它包含非转义双引号…我尝试过的测试人员是:&。我要带着\逃离这个世界。预期结果是:xyz+1,因为我认为//*[x和y]在风格上优于//*[x][y],尽管它们是等效的。+1,因为我认为//*[x和y]在风格上优于//*[x][y],尽管它们是等效的。@RossPatterson,是的,有很多吸引新手的方法-却发现它们不符合XPath实现。@RossPatterson,是的,有很多吸引新手的方法-却发现它们不符合XPath实现。
//*[starts-with(name(.), "childnode")][identification/text()='xyz']