使用php/DOM ie从编号列表中获取XML项<;图像编号=”;1“&燃气轮机;等
刚开始使用XML提要,到目前为止一切进展顺利,但我有一个提要有问题 XML如下所示:使用php/DOM ie从编号列表中获取XML项<;图像编号=”;1“&燃气轮机;等,php,xml,dom,Php,Xml,Dom,刚开始使用XML提要,到目前为止一切进展顺利,但我有一个提要有问题 XML如下所示: <Property> <images> <image number="1"> <image>http://www.blah.net/shared/depot/3168/biens/149506/images/627783.jpg </image> <image number="2"><image>http://www.blah.
<Property>
<images>
<image number="1">
<image>http://www.blah.net/shared/depot/3168/biens/149506/images/627783.jpg
</image>
<image number="2"><image>http://www.blah.net/shared/depot/3168/biens/149506/images/627794.jpg</image>
</image>
<image number="3"><image>http://www.blah.net/shared/depot/3168/biens/149506/images/627792.jpg
</image>
</images>
</Property>
如果您是该XML的作者,请首先修复它:
(为了便于格式化,我缩短了URL)
http://www.blah.net/shared/627783.jpg
http://www.blah.net/shared/627794.jpg
http://www.blah.net/shared/627792.jpg
然后,使用simplexml获取URL:
// $xmlstr holds the XML
$xml = simplexml_load_string($xmlstr);
urls = $xml->xpath("//image");
foreach ($urls as $url) echo "$url <br />";
/$xmlstr保存XML
$xml=simplexml\u load\u字符串($xmlstr);
URL=$xml->xpath(“//图像”);
foreach($url作为$url)回显“$url
”;
请参阅此代码的实时演示:是否要访问每个图像(标记之间)的URL?xml已损坏。你产生了它吗?michi,它是一块更大的xml块,但它到底有什么问题?我可以用simplexml来工作,但是可以;我不能用DOM解决这个问题,我坦率地承认我已经用了一段时间了day@tynan:将xml粘贴到并查看错误消息<代码> > 3代码< >代码>,打开一个名为<代码> >代码>的子节点,在代码>行4 > /代码> ->坏实践中,关闭“子节点”在“代码>行5 < /代码>,打开另一个<代码>第3行< /代码>的子。等,如果您是该XML的自动者,首先修复它。请考虑接受答案(点击左边的刻痕)。如果它真的回答了你的问题,那么xml不是我的,我怀疑嵌套相同的命名标记可能是一种不好的形式,如前所述,我已经使用simplexml进行了这项工作,但希望使用DOM,因为我正在将其用于所有其他提要,并希望保持一致,那么xml是不好的吗?在这种情况下,我会告诉客户,我对上面的“固定”版本没有问题,是嵌套的标签让我困惑,就这一点而言,我仍然需要解决这个问题,我已经用simplexml加载了问题提要,并通过以下行获得了图像URL$Pic1=$Property->images->image[1]->image;$Pic2=$Property->images->image[2]->image//etc'code'$Pic1=$Property->images->image[1]->image$Pic1=$Property->images->image[1]->image$Pic2=$Property->images->image[2]->image//学士学位
<Property>
<images>
<image number="1">http://www.blah.net/shared/627783.jpg</image>
<image number="2">http://www.blah.net/shared/627794.jpg</image>
<image number="3">http://www.blah.net/shared/627792.jpg</image>
</images>
</Property>
// $xmlstr holds the XML
$xml = simplexml_load_string($xmlstr);
urls = $xml->xpath("//image");
foreach ($urls as $url) echo "$url <br />";