我有一个带有以下示例内容的大型 xml 文件:
<transferData version="1.0">
<item id="1885880" itemType="kivihomepagetransfer">
<property name="country_id">
<value>4402</value>
</property>
<property name="rc_maintenance_other"></property>
<property name="claim_right_shareholder"></property>
<property name="charges_other"></property>
<property name="investment_flag"></property>
<property name="rc_repair_need"></property>
<property name="realtycompany">
<value>Asunto Oy Aulangtie 20</value>
</property>
我已经使用了 xpath 的在线生成器
http://www.xmltoolbox.com/index.html
我想访问 的值<property name="realtycompany">
,我的 xpath 调用如下所示:
$path = '//item[@id="'.$itemId.'"]/property[@name="realtycompany"]/value/text()';
$company = $xml->xpath($path);
print_r($company);
在在线生成器中,这是有效的,但原始 xml 不是。我只是收到空的 SimpleXMLElement 对象。在foreach中生成了ItemId,但是是正确的。
为什么这在小例子中有效,但在大文件中却找不到任何东西?
我尝试了其他几个版本:
$path = '//item[@id="'.$itemId.'"]/property[@name="realtycompany"]/value';
$path = '//item[@id="1885880"]/property[@name="realtycompany"]/value/text()';
$path = '/item[@id="'.$itemId.'"]/property[@name="realtycompany"]/value/text()';
$path = '/transferData[@version="1.0"]/item[@id="'.$itemId.'"]/property[@name="realtycompany"]/value/text()';
等等……他们都没有找到它