为什么这个xpath不能和我一起使用?如果title
language _id =2
./title[language_id=2]
<news pnumber="1" id="1"><event_id>578</event_id><event_type_id>1</event_type_id><language_id>2</language_id><title>meeting</title></news>
<news pnumber="1" id="1"><event_id>578</event_id><event_type_id>1</event_type_id><language_id>1</language_id><title>meeting</title></news>
答案 0 :(得分:3)
正确的XPath表达式是
//title[../language_id=2]
答案 1 :(得分:2)
要避开反转轴,请使用:
self::*[language_id=2]/title.
答案 2 :(得分:1)
首先在XML中添加root:
XDocument doc = XDocument.Load(xmlFilePath);
var result= doc.Descendants("news")
.Where(x=>x.Attribute("id") != null && x.Attribute("id").Value = "1")
.Select(x=>x.Descendants("title").First().Value);
以下是此linq2xml的说明:
首先加载XML文件(也可以解析xml字符串):
XDocument.Load(xmlFilePath);
找到您的news
元素:
doc.Descendants("news")
在news
个元素之间选择具有id=1
的元素:
Where(x=>x.Attribute("id") != null && x.Attribute("id").Value = "1")
从每个已过滤的项目中选择第一个标题:
x.Descendants("title").First().Value