当父对象未知时,PHP SimpleXML直接访问子元素

时间:2012-09-24 19:25:43

标签: php simplexml

假设我们有这个XML文件:

<root_element>
    <element_1>
         <hello_element>
            Hello1
         </hello_element>
    </element_1>

    <element_1>
       <element_2>
          ...
          <element_n>
             <hello_element>
                Hello2
             </hello_element>
          </element_n>
          ...
       </element_2>
    </element_1>

</root_element>


$hello = new SimpleXMLElement('hello.xml');
echo $hello->element_1[0]->hello_element;

输出为:Hello1

echo $hello->element_1[1]->element_2-> ... ->element_n->hello_element;

输出为:Hello2

echo $hello->element_1[1]->hello_element;

输出是:

是否可以在不知道父元素的名称或编号的情况下直接访问子元素?

1 个答案:

答案 0 :(得分:0)

是的,你可以。使用xpath

我认为$simpleXML->xpath('/*')会获得最后一项。

$simpleXML->xpath('//*/*/*')将获得第3级项目。

(未经测试)

SimpleXML::xpath