获取SimpleXMLElement的XML内容

时间:2010-11-10 14:19:19

标签: php xml simplexml innerhtml

有没有办法提取SimpleXMLElement的“innerHTML”?

例如,如何使用SimpleXMLElement从以下XML代码中获取'<div><h1>Hello World</h1></div>'

<xml>
  <body1>
    <div><h1>Hello World</h1></div>
  </body1>
  <body2>
    <div><h2>Goodby Moon</h2></div>
  </body2>
</xml>

我阅读了文档,我想到的只有$xml->body1->asXML();。 它几乎是正确的解决方案,但它也添加了根标记:

 <body1>
   <div><h1>Hello World</h1></div>
 </body1>

是否可以跳过周围的body1标签?


编辑:

xml也可能如下所示:

<xml>
  <body1>
    <div><h1>Hello World</h1></div>
    <div><h1>Hello Moon</h1></div>
    Some Text
  </body1>
  <body2>
    <div><h2>Goodby Moon</h2></div>
  </body2>
</xml>

如:http://codepad.org/8ZuRYZOW

2 个答案:

答案 0 :(得分:6)

如果你确定它是div你正在寻找:

$xml->body1[0]->div->asXML();

其他

$xml->body1[0]->children()->asXML();

http://codepad.org/QUytim28其他http://codepad.org/hDt28BL6

答案 1 :(得分:0)

你可能想要children method或者想要使用$xml->body1[ 0 ]->asXML();(数组访问)