使用XPATH和PHP获取自定义属性的值

使用XPATH和PHP获取自定义属性的值,php,curl,xpath,Php,Curl,Xpath,我试图提取存储在列表中的数据。令人不安的是“自定义数据”实体 <li id="myid" custom-data="123456789" class="search-query"> ...lots of child elements …有很多子元素 我通过查询“search query”的DomXPath对象获得所有字符串数据,然后使用下面的代码将其提取出来 $id = $exampleXPath->query("//li[@class='search-quer

我试图提取存储在列表中的数据。令人不安的是“自定义数据”实体

 <li id="myid" custom-data="123456789" class="search-query">
    ...lots of child elements
  • …有很多子元素
  • 我通过查询“search query”的DomXPath对象获得所有字符串数据,然后使用下面的代码将其提取出来

    $id = $exampleXPath->query("//li[@class='search-query']");
    
    foreach ($id as $element) {
        $nodes = $element->childNodes;
        foreach ($nodes as $node) {
            echo "$node->nodeValue<br>";
    
        }
    }
    
    $id=$examplepath->query(//li[@class='search-query']);
    foreach($id作为$element){
    $nodes=$element->childNodes;
    foreach($node作为$node){
    回显“$node->nodeValue
    ”; } }

    我还想获取每个“搜索查询”对象的“自定义数据”值,但我不知道如何获取它。有什么想法吗?

    您已经引用了所有“搜索查询”元素,因此获取属性应该与调用每个元素一样简单:

    $custom_data = $element->getAttribute("custom-data");
    

    您已经引用了所有“搜索查询”元素,因此获取属性应该与调用每个元素一样简单:

    $custom_data = $element->getAttribute("custom-data");
    

    class=“search query”在您的HTML DOM上是唯一的吗?不,所有
  • 元素都有它。但是我想针对所有
  • 元素,这样就可以了。class=“search query”在您的HTML DOM中是唯一的吗?不,所有
  • 元素都有它。但我想针对所有
  • ,这样就可以了。