Xml正在分析第二个标签


Xml parsing second label

我正在使用phpsimplexml_load_file函数解析XML。XML是;

<item>
 <Title>TEST</Title>
 <Image primary="true"/>
 <Image>
  http://www.domain.com/image.jpg
 </Image>
</item>

我真的在用解析标题标签;

$var->item->Title

但是解析图像标签会给出错误的结果;

$var->item->Image

我怎样才能取回;http://www.domain.com/image.jpg结果?

您的XML格式不正确——如果您有多个图像,并且您想将其中一个设置为主图像,那么您应该使用

<item>
<Title>TEST</Title>
<Images>
    <Image primary="true">http://www.domain.com/image1.jpg</Image>
    <Image>http://www.domain.com/image2.jpg</Image>
</Images>
</item>

然后循环使用PHP中的Images数组来访问图像的路径。

或者,如果您知道您只使用一个图像,请在同一图像节点上设置Primary属性:

<item>
<Title>TEST</Title>
<Image primary="true">http://www.domain.com/image1.jpg</Image>
</item>

您可以获得类似的"图像"节点的属性

var_dump($var->Title);
var_dump($var->Image->attributes()->primary);