【发布时间】:2019-05-05 13:53:31
【问题描述】:
我在这里看到了几乎所有关于这个问题的问题,但没有一个是相关的。
$employees = simplexml_load_string($response)->c->q[1]['v'];
$employees = SimpleXML 对象:
<?xml version="1.0" encoding="utf-8" ?>
<rows xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "Articles_Schema.xsd" >
<row id="1">
<EmployeeID>
<![CDATA[123]]>
</EmployeeID>
<EmplopyeeName>
<![CDATA[John Doe]]>
</EmplopyeeName>
</row>
<row id="2">
<EmployeeID>
<![CDATA[456]]>
</EmployeeID>
<EmplopyeeName>
<![CDATA[Jack Mill]]>
</EmplopyeeName>
</row>
</rows>
我想检索所有员工(如果找到)。
我尝试使用以下方式访问它们:
-
$employees->children()[空数组] -
$employees->rows[空数组] -
$employees->row[空数组] -
$employees->xpath('//rows')[空数组] -
$employees->xpath('//row')[空数组] -
$employees->registerXPathNamespace('x', 'http://www.w3.org/2001/XMLSchema-instance'); $employees->xpath('//x:row')[空数组]
var_dump($employees->getName()); //returns "v"
var_dump($employees->getNamespaces()); //returns NULL
var_dump($employees); 返回:
object(SimpleXMLElement)#26 (1) {
[0]=>
string(xxx) "
<?xml version="1.0" encoding="utf-8" ?>
<rows xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "Articles_Schema.xsd" >
<row id="1">
<EmployeeID>
<![CDATA[123]]>
</EmployeeID>
<EmplopyeeName>
<![CDATA[John Doe]]>
</EmplopyeeName>
</row>
<row id="2">
<EmployeeID>
<![CDATA[456]]>
</EmployeeID>
<EmplopyeeName>
<![CDATA[Jack Mill]]>
</EmplopyeeName>
</row>
</rows>"
}
有人能指出导致问题的原因吗?
【问题讨论】:
标签: php xml simplexml xml-namespaces