Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Xml 需要某种xPath搜索模式吗_Xml_Xpath_Xmltextreader - Fatal编程技术网

Xml 需要某种xPath搜索模式吗

Xml 需要某种xPath搜索模式吗,xml,xpath,xmltextreader,Xml,Xpath,Xmltextreader,我想从XmlTextReader读取某个XmlNode。 我的文件如下所示: <?xml version="1.0" encoding="UTF-8" standalone="true"?> <data> <legend> <element> <tag> aqua </tag> ... 当然,这只是废品,不起作用,所以我需要一个正确的 有人能说出正确的XPath模式吗?作为一个XPath

我想从XmlTextReader读取某个XmlNode。 我的文件如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<data>
   <legend>
      <element>
         <tag> aqua </tag>
...
当然,这只是废品,不起作用,所以我需要一个正确的


有人能说出正确的XPath模式吗?

作为一个XPath 1.0表达式,我想您需要
//legend/element[tag[normalize-space()='aqua']
。如果选择了
元素
元素,这些元素有一个
标记
子元素,其标准化字符串值为
aqua

这是无效的XML,标记名必须紧跟在
后面。我不知道这是否真的是你的源文件,还是这里的格式不好。此外,您的缩短也不是很好,因为您缺少所有的结束标记(从而使其成为无效的XML)。此外,您正在谈论的“/r/n”是什么?我在任何地方都看不到它。正如我所写的,这只是废品。XML只是部分粘贴。我需要将文本与文本分开,以防止编辑控件将其从文章中删除。当然,我没有粘贴/r/n,你无论如何也看不到。这显然是错误的。我刚刚编辑了你的问题,如果你删除空格就没有问题了。请正确格式化您的XML,在这种情况下,它不仅是好看的,而且是必需的,因此XML是有效的。此外,您*需要结束标记,例如,它是
aqua
aqua
?用/r/nT你是说换行吗?我从未见过使用普通斜杠,应该是\r\n您是对的。草率地记着我。当然不是。幸好马丁明白了我的意思。本期结束。注:“浏览器”不等于“浏览器”。别问为什么!
dataNode.SelectNodes("//legend/element").where("Tag".Trim() == "aqua");