SimpleXML 文档上的 xpath 查询 - 未定义的偏移量:0
xpath query on SimpleXML Document - Undefined offset: 0
我对 SimpleXML 和在其中使用 xpath 还很陌生。我不确定是在原始 posting 中还是在此处 post 此查询,因此我从原始 posting 链接到此处。
在处理几个测试脚本时,我遇到了这个 posting,并且我一直在尝试使其中一个已接受的答案起作用。
但是,当我尝试使用已接受答案作品的 xpath 版本时,我收到错误消息:
Undefined offset: 0
我已经用其他方式测试了 xpath,以验证它是否已安装并且可以正常工作。感谢任何线索。
我已经复制了 OP 的 xml 文件以及接受的答案代码:
XML:
<data>
<poster name="E-Verify" id="everify">
<full_image url="e-verify-swa-poster.jpg"/>
<full_other url=""/>
</poster>
<poster name="Minimum Wage" id="minwage">
<full_image url="minwage.jpg"/>
<full_other url="spa_minwage.jpg"/>
</poster>
</data>
PHP代码:
<?php
$url = "test_b.xml";
$xml = simplexml_load_file($url);
$main_url = $xml->xpath('name[@id="minwage"]/full_image')[0];
?>
您的 XPath 正在寻找一个名为 name
的不存在的元素,但没有找到。这将意味着没有要使用 [0]
获取的 0 元素。我已将元素名称更改为 poster
,在此示例中,我获取了 url
属性,但您可以将其更改为您需要的任何其他内容...
$main_url = $xml->xpath('//poster[@id="minwage"]/full_image/@url')[0];
echo $main_url;
给...
minwage.jpg
我对 SimpleXML 和在其中使用 xpath 还很陌生。我不确定是在原始 posting 中还是在此处 post 此查询,因此我从原始 posting 链接到此处。
在处理几个测试脚本时,我遇到了这个 posting,并且我一直在尝试使其中一个已接受的答案起作用。 但是,当我尝试使用已接受答案作品的 xpath 版本时,我收到错误消息:
Undefined offset: 0
我已经用其他方式测试了 xpath,以验证它是否已安装并且可以正常工作。感谢任何线索。
我已经复制了 OP 的 xml 文件以及接受的答案代码:
XML:
<data>
<poster name="E-Verify" id="everify">
<full_image url="e-verify-swa-poster.jpg"/>
<full_other url=""/>
</poster>
<poster name="Minimum Wage" id="minwage">
<full_image url="minwage.jpg"/>
<full_other url="spa_minwage.jpg"/>
</poster>
</data>
PHP代码:
<?php
$url = "test_b.xml";
$xml = simplexml_load_file($url);
$main_url = $xml->xpath('name[@id="minwage"]/full_image')[0];
?>
您的 XPath 正在寻找一个名为 name
的不存在的元素,但没有找到。这将意味着没有要使用 [0]
获取的 0 元素。我已将元素名称更改为 poster
,在此示例中,我获取了 url
属性,但您可以将其更改为您需要的任何其他内容...
$main_url = $xml->xpath('//poster[@id="minwage"]/full_image/@url')[0];
echo $main_url;
给...
minwage.jpg