Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XPath查询可以使用在线工具,但不能在.NET中使用_C#_.net_Xml_Xpath - Fatal编程技术网

C# XPath查询可以使用在线工具,但不能在.NET中使用

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

我可以通过在线xpath工具使下面的xpath与下面的xml相匹配,但我得到的表达式必须计算为节点集。.NET4.5中的异常

xpath:

//*[以名称开头,子节点[标识/text='xyz']] xml:

xyz abc 预期的结果是

<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']