【问题标题】:Get XML items from numbered list using php/DOM ie <image number="1"> etc使用 php/DOM 即 <image number="1"> 等从编号列表中获取 XML 项目
【发布时间】:2013-03-22 18:56:22
【问题描述】:

刚开始使用 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.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>

使用 DOM 和 php,我应该使用什么来访问每个图像 url?

我正在为我的其他提要使用类似的东西,但我不知道如何挑选带编号的项目

我已经修改了代码并没有高兴地在谷歌上搜索 谢谢 泰南

$Pic1= $Property->getElementsByTagName('ImageURL1')->item(0)->textContent;

【问题讨论】:

  • 所以您想访问每张图片的 URL(在 标签之间)?
  • xml 已损坏。你生产吗?
  • michi,它是一个更大的 xml 块中的一个块,但它有什么问题呢?我用 simplexml 可以正常工作,但不能用 DOM 解决,我承认我已经使用了一天
  • @tynan:将您的 xml 粘贴到 xmlvalidation.com 并查看错误消息。 line 3:你打开@​​987654325@,打开一个名为&lt;image&gt; 的子节点以及line 4 ---> 不好的做法,你关闭line 5 上的子节点,打开line 3 的另一个子节点等。如果您是该 xml 的作者,请先修复它。
  • 如果确实回答了您的问题,请考虑接受一个答案(点击左侧的勾号)

标签: php xml dom


【解决方案1】:

如果您是该 XML 的作者,请先修复它:
(我缩短了你的网址以便于格式化)

<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>

然后,使用 simplexml 获取 url:

// $xmlstr holds the XML

$xml = simplexml_load_string($xmlstr);
urls = $xml->xpath("//image");
foreach ($urls as $url) echo "$url <br />";

查看此代码的现场演示:http://codepad.viper-7.com/VsvgJw

【讨论】:

  • 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 = $属性->图像->图像[1]->图像; $Pic2 = $Property->images->image[2]->image;//BS
猜你喜欢
  • 2012-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-01
  • 1970-01-01
相关资源
最近更新 更多