Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php上解析deepxml_Php_Xml_Xml Parsing - Fatal编程技术网

如何在php上解析deepxml

如何在php上解析deepxml,php,xml,xml-parsing,Php,Xml,Xml Parsing,我对XML解析有问题: <pricecatalog> <pricecathdr></pricecathdr> <listofcatalogdetails> <catalogitem> <product> <productid>1515159115</productid> </product>

我对XML解析有问题:

<pricecatalog>
    <pricecathdr></pricecathdr>
    <listofcatalogdetails>

        <catalogitem>
        <product>
           <productid>1515159115</productid>
        </product>
        </catalogitem>

        <catalogitem>
        <product>
           <productid>251541851</productid>
        </product>
        </catalogitem>

        <catalogitem>
        <product>
           <productid>15181158</productid>
        </product>
        </catalogitem>

    </listofcatalogdetails>
</pricecatalog>

如果解析成功,我想我必须得到2,但我得到0。

我会使用XPath查询XML文档,因为这非常简单。请参阅您在我的系统上提供的上述工作的示例。您确定
$this->response
包含上述XML吗?
    $doc = new DOMDocument();
    $doc->loadXML($this->response);
    $items = $doc->getElementsByTagName("catalogitem");
    $i = 0;
    foreach($items as $itm){
        $i++;
    }
    echo $i;