Php 如何使用simplexml xpath函数获取根
我试图获取simpleXml元素的根节点,但它找不到任何内容。这是我的代码示例:Php 如何使用simplexml xpath函数获取根,php,xml,xpath,Php,Xml,Xpath,我试图获取simpleXml元素的根节点,但它找不到任何内容。这是我的代码示例: $xml = <<<XML <Order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/LSP%20iShip/LSP%20Dossiers/Standard%20iShip%20Mappings/iShip%20XSD's/iOrder.xsd"
$xml = <<<XML
<Order xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/LSP%20iShip/LSP%20Dossiers/Standard%20iShip%20Mappings/iShip%20XSD's/iOrder.xsd">
<Reference>21EW400084SA</Reference>
<Name>John</Name>
<Street1>Ally 3</Street1>
<Zipcode>0</Zipcode>
<City>ESPANA</City>
<CountryCode>ES</CountryCode>
</Order>
XML;
$simpleXML = simplexml_load_string($xml);
var_dump($simpleXML->xpath('/'));
主程序中的xpath查询是一个变量输入。它可以是根,也可以是指向子对象的路径。当变量输入为“/”时,它不返回任何内容(如上面的示例所示)。如何使其返回根节点?xpath查询
/
不会返回任何内容,因为它是一个空搜索。前导的/
表示查询从根开始,但它仍然需要一些东西来搜索。我怀疑您想尝试$simpleXML->xpath('/Order')
或$simpleXML->xpath('/*')
正确的xpath表达式是/*
var_dump($simpleXML->xpath('/*'));
或者,对于simplexmlement
对象:
var_dump($simpleXML->xpath('/*')[0]);
在这个特定的例子中,我相信Marco想要xpath表达式
/Order
,它将返回根元素。是的,我假设我的答案中的对象
是顺序
的输入错误。现在修好了
var_dump($simpleXML->xpath('/*')[0]);