我正在使用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"
}
}
}
答案 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