2015-05-04 70 views
0

我想在我的xPath函数中获取以下节点的名称。如何在xPath中获得以下节点名称

我的XML(例如):

<TEXT> 
    <TITLE>AAA</TITLE> 
    <SUB_TITLE>SUB</SUB_TITLE> 
    <SUB_TITLE>SUB</SUB_TITLE> 
    <SUB_TITLE2>SUB2</SUB_TITLE2> 

    <TITLE>BBB</TITLE 
    ... 
</TEXT> 

在我的数据库,SUB_TITLE和SUB_TITLE2在标题表链接。但是,在XML文件中,它们没有链接。这些节点之后只是节点...

我试着写一个PHP函数那样:

function get_next(SimpleXMLElement $node) 
    return $node->xpath('following::*name()'); 

为了得到以下节点的名称,然后,我可以写一个循环,分组我的TITLE。

while (get_next($param)!='TITLE') 
    // operation 

那么,我怎样才能得到我的参数后面的节点的所有名称?

回答

0

据我所知,xpath()函数只能返回节点。您可以使用getName()函数来获取节点名称,例如:

function get_next(SimpleXMLElement $node){ 
    $result = []; 
    foreach($node->xpath('following-sibling::*') as $sibling){ 
     $result[] = $sibling->getName(); 
    } 
    return $result; 
} 
+0

这就是我所做的,它的工作原理!谢谢你的帮助 :) – Zooly

相关问题