PHP SimpleXML获取innerXML

前端之家收集整理的这篇文章主要介绍了PHP SimpleXML获取innerXML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在这一点 XML获取答案的HTML内容
  1. <qa>
  2. <question>Who are you?</question>
  3. <answer>Who who,<strong>who who</strong>,<em>me</em></answer>
  4. </qa>
@H_301_3@所以我希望得到一个字符串“Who who,< strong> who who< / strong>,< em> me< / em>”.

@H_301_3@如果我将答案作为SimpleXMLElement,我可以调用asXML()来获取“< answer>谁是谁,< strong>谁< / strong>,< em>我< / em>< / answer> “,但是如何在没有元素本身的情况下获取元素的内部XML?

@H_301_3@我更喜欢不涉及字符串函数方法,但如果这是唯一的方法,那就这样吧.

据我所知,没有内置的方法来实现这一点.我建议尝试 SimpleDOM,这是一个扩展SimpleXMLElement的PHP类,它为大多数常见问题提供了方便的方法.
  1. include 'SimpleDOM.PHP';
  2.  
  3. $qa = simpledom_load_string(
  4. '<qa>
  5. <question>Who are you?</question>
  6. <answer>Who who,<em>me</em></answer>
  7. </qa>'
  8. );
  9. echo $qa->answer->innerXML();
@H_301_3@否则,我会看到两种方法.第一种方法是将SimpleXMLElement转换为DOMNode,然后遍历其childNodes以构建XML.另一种方法调用asXML()然后使用字符串函数删除根节点.但请注意,asXML()有时可能会返回实际位于调用它的节点之外的标记,例如XML prolog或Processing Instructions.

猜你在找的PHP相关文章