xpath finding absolute path is there any easy way?

后端 未结 1 1206
难免孤独
难免孤独 2020-12-06 23:04

I have tried to find a way to \"bookmark\" an element on a page so i will later on be able to check on it. everything I\'ve tried so far lead me to some problem so I\'ve cam

1条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-06 23:25

    You might be looking for DOMNode::getNodePath(). A quick example:

    $xml = <<
        
    
            
                
                
                
            
    
            
                
                
                
            
        
    
    XML;
    
    $doc = new DOMDocument();
    $doc->loadXML($xml);
    $xp = new DOMXPath($doc);
    foreach($xp->query('//node()') as $node ) {
    
        echo $node->getNodePath(), "\n";
    
    }
    

    And it's output:

    /blaah1
    /blaah1/text()[1]
    /blaah1/gender
    /blaah1/gender/text()[1]
    /blaah1/gender/example1
    /blaah1/gender/example1/text()[1]
    /blaah1/gender/example1/x[1]
    /blaah1/gender/example1/text()[2]
    /blaah1/gender/example1/x[2]
    /blaah1/gender/example1/text()[3]
    /blaah1/gender/example1/x[3]
    /blaah1/gender/example1/text()[4]
    /blaah1/gender/text()[2]
    /blaah1/gender/example2
    /blaah1/gender/example2/text()[1]
    /blaah1/gender/example2/x[1]
    /blaah1/gender/example2/text()[2]
    /blaah1/gender/example2/x[2]
    /blaah1/gender/example2/text()[3]
    /blaah1/gender/example2/x[3]
    /blaah1/gender/example2/text()[4]
    /blaah1/gender/text()[3]
    /blaah1/text()[2]
    

    0 讨论(0)
提交回复
热议问题