请考虑以下代码段:
var xpath = "//i[@a='1']";
var item = new XElement("i",
new XAttribute("a", "1"),
new XAttribute("b", "2"),
new XAttribute("c", "3"));
Console.WriteLine(item); // <i a="1" b="2" c="3" />
Console.WriteLine("{0} = {1}", xpath, item.XPathSelectElements(xpath).Any());
我期望.Any()
的结果是true
,但是我一直得到false
。
答案 0 :(得分:0)
问题出在您的 root 元素上。
您也可以使用此xml进行测试
var item = new XDocument(new XElement("i",
new XAttribute("a", "1"),
new XAttribute("b", "2"),
new XAttribute("c", "3")));
这将返回 TRUE
答案 1 :(得分:0)
使用self::i[@a='1']
或将XElement
添加到XDocument
即可达到目的。