代码之家  ›  专栏  ›  技术社区  ›  mko

使用xpath选择特定的节点名

  •  0
  • mko  · 技术社区  · 15 年前

    遵循w3i的教程。

    http://www.w3schools.com/xpath/xpath_syntax.asp

    命名节点

    书店元素的

    这是我的密码

    书店.xml:

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <bookstore>
        <book>
          <title lang="eng">Harry Potter</title>
          <price>29.99</price>
        </book>
        <book>
          <title lang="eng">Learning XML</title>
          <price>39.95</price>
        </book>
        </bookstore>
    

    php文件:

        <?php
        $xml = simplexml_load_file("bookstore.xml");
        if(!$xml)
        { 
        echo 'bad';
        }else
        {
    
        $res = $xml->xpath("//bookstore");
    
        when I use $res = $xml->xpath("bookstore");
        $xml_res1 = $res1->asXML("booklist.xml");
        }
        ?>
    

    <book> 仅元件(不包括 <bookstore> 以及 <?xml version?>

    在W3Schools示例中,“//bookstore”可以选择bookstore元素的所有子节点。

    有人能告诉我为什么我得到一个空数组吗?谢谢!

    2 回复  |  直到 6 年前
        1
  •  1
  •   Dimitre Novatchev    15 年前

    使用 :

    /*/book
    

    甚至是

    /*/*
    

    :

    /bookstore/book
    

    /child::bookstore/child::book
    

    给定所提供的XML文档,上面所有的表达式都选择了所需的节点--all book 文档中的元素。

    始终避免使用 //

        2
  •  1
  •   user357812 user357812    15 年前

    该声明应为: 选择具有此名称的所有子节点 .

    名称测试 1 2 .

    如果你想的话 book 元素:

    /bookstore/book