C# XPath 1.0(必须与C XmlDocument配合使用)用于最大字符串搜索
我试图找到一个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的功能很感兴趣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中
解析一个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>