代码之家  ›  专栏  ›  技术社区  ›  Rubens Farias

为什么XPathSelectElements()返回false?

  •  -1
  • Rubens Farias  · 技术社区  · 6 年前

    请考虑以下代码段:

    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 .

    2 回复  |  直到 6 年前
        1
  •  0
  •   Rubens Farias    6 年前

    使用 self::i[@a='1'] 或者加上那个 XElement XDocument 我成功了。

        2
  •  0
  •   Eser    6 年前

    元素。

    您还可以用这个xml来测试它

    var item = new XDocument(new XElement("i",
                    new XAttribute("a", "1"),
                    new XAttribute("b", "2"),
                    new XAttribute("c", "3")));
    

    真的