获取包含内部节点的textcontent

时间:2012-09-07 07:40:29

标签: php xml xml-parsing simplexml

我想打印出"depth 17 - 1 enclosed by 20m contour "

下面是从$xml = simplexml_load_file("test.xml");

的xml文件版本1.0加载的xml字符串
<object>
  depth 
 <emphasis>
  17 
   <subscript>1</subscript> 
 </emphasis>
  enclosed by 20m contour 
</object>


print_r($Vals->object);
//prints "depth enclosed by 20m contour "


$Vals->object->emphasis.' - '.$Vals->object->emphasis->subscript
//prints "17 - 1"

我可以通过将值"depth"替换为depth $Vals->object->emphasis.' - '.$Vals->object->emphasis->subscript来打印字符串。它不是好东西becoz可能还有一个深度&#39;在字符串中,宽度也可以在深度位置。

直到现在我正在尝试下面的代码,见Go to Question

echo dom_import_simplexml($Vals->object)->textContent;

此代码无法完成工作,也使系统变得如此缓慢。没有错误产生。

1 个答案:

答案 0 :(得分:0)

您正在寻找strval

鉴于此代码:

$xml = simplexml_load_file("test.xml");

你可以这样做:

print strval($xml->emphasis->subscript); // prints '1'
print strval($xml); //prints 'depth enclosed by 20m contour'
...

依此类推,你可以将它们自己组合成你想要的字符串。