无法使用PHP读取一个特定的XML节点

时间:2011-10-11 04:10:14

标签: php xml xml-parsing

我正在使用PHP来解析XML文件,并且成功地能够从文件中提取数据,但一个特定节点除外。有一个标记为“ImageData”的开放式标记,后跟一个文本块。文本块没有被拾取,我无法弄清楚为什么它忽略了“ImageData”标记之后的文本。

以下是相关的XML代码:

<Part>
<Figure>
<ImageData src="images/interbank_img_0.jpg"/>
The text I want is here
</Figure>

这是PHP脚本:

$xml = simplexml_load_file("rates/interbank.xml");
$test = $xml->Part[0]->Figure[0];

这是输出$ test时的结果:

object(SimpleXMLElement)#3 (1) {
  ["ImageData"]=>
  object(SimpleXMLElement)#2 (1) {
    ["@attributes"]=>
    array(1) {
      ["src"]=>
      string(26) "images/interbank_img_0.jpg"
    }
  }
}

1 个答案:

答案 0 :(得分:1)

只需将节点转换为字符串

即可
<?php
//$xml = simplexml_load_file("rates/interbank.xml");
$xml = new SimpleXMLElement('<foo><Part>
<Figure>
<ImageData src="images/interbank_img_0.jpg"/>
The text I want is here
</Figure></Part></foo>');

echo $xml->Part[0]->Figure[0]; // echo casts the "parameters" to string before printing

打印

The text I want is here