Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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 1.0(必须与C XmlDocument配合使用)用于最大字符串搜索_C#_.net_Xpath_Xmldocument - Fatal编程技术网

C# XPath 1.0(必须与C XmlDocument配合使用)用于最大字符串搜索

C# XPath 1.0(必须与C XmlDocument配合使用)用于最大字符串搜索,c#,.net,xpath,xmldocument,C#,.net,Xpath,Xmldocument,我试图找到一个XPath查询,该查询将与System.Xml.XmlDocument.SelectNodes方法一起使用,它将非常简单地返回 这两本书的内容分别是烹饪和WEB_v2 在我的实际XML中有几个这样的标记,其中一些将有一个_v1版本a _v2版本,可能有一个_vNN版本的标记。因此,如果标签没有像上面示例中的烹饪类别那样的其他版本,我想要它,但是如果其他分类标签具有像WEB category这样的_v模式,那么在这种情况下,我只想要MAX版本或WEB_v2 如果这在XPath1.0中

我试图找到一个XPath查询,该查询将与System.Xml.XmlDocument.SelectNodes方法一起使用,它将非常简单地返回 这两本书的内容分别是烹饪和WEB_v2

在我的实际XML中有几个这样的标记,其中一些将有一个_v1版本a _v2版本,可能有一个_vNN版本的标记。因此,如果标签没有像上面示例中的烹饪类别那样的其他版本,我想要它,但是如果其他分类标签具有像WEB category这样的_v模式,那么在这种情况下,我只想要MAX版本或WEB_v2

如果这在XPath1.0中不可能,那很好,我可以通过c实现,我只是想知道是否有

我首先想到用这个 书店/书籍[子串]-after@category,'_v'=和countbookstore/book[@category=substring-before@category,“_v']=0] 但是正如您所看到的,嵌套的@category连接不起作用

不幸的是,这是.Net,所以我现在对XPath2.0的功能很感兴趣


解析一个XMLDocument所以,你知道,我想看看我能用xpath语法做些什么。显然,在.net的协同工作方面,这并不多。

您考虑过使用LINQ转换XML吗?当然,与普通XPath相比,这可能会给您提供很好的解决方案。我说,我可以用c。如果可能的话,我想弄清楚如何使用xpath实现这一点。好奇心并不意味着停止在第一个解决方案,好像它是唯一的解决方案。我想知道如何通过xpath在搜索中嵌套值://tag[start-with@attr1,'X'而不是//li[开始-with@attr2,@attr1]]但attr1和attr2在xml流中是相同的属性。基本上,我已经找到了x,但是我不希望其他任何看起来像x的东西,通常以a开头。我已经用c代码解决了这个问题,我对xpath的变化很好奇。@jaedenriner供参考:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book category="COOKING">
    </book>
    <book category="WEB_v2">
    </book>
    <book category="WEB">
    </book>
    <book category="WEB_v1">
    </book>
</bookstore>