2016-06-29 47 views
1

我正在使用PHP SimpleXML解析文件中的数据。例如说我有以下XML内容:PHP SimpleXML节点的原始内容

<?xml version="1.0" ?> 
 
<root> 
 
    <parent1> 
 
    <child1>blah</child1> 
 
    <child2>blah blah</child2> 
 
    </parent1> 
 
    <parent2>blah</parent2> 
 
</root>

我基本上希望得到一个节点内部的实际原始内容。即我需要它返回parent1的“innerXML”,就像文本,标签和所有内容一样。无法让PHP来做到这一点。帮帮我?

+0

包括开放式''和关闭标签? – splash58

+0

最新情况?为什么删除答案? – Naumov

+0

我不保存具有负面评价的答案 – splash58

回答

2

为了获得确切的内容'<child1>blah</child1><child2>blah blah</child2>'作为自己,你最好把它们放在<![CDATA[]]>然后你可以得到任何东西,就像它自己。

XML应该是这样的:

<?xml version="1.0" ?> 
<root> 
    <parent1> 
    <![CDATA[<child1>blah</child1> 
    <child2>blah blah</child2>]]> 
    </parent1> 
    <parent2>blah</parent2> 
</root> 

然后

$xml = simplexml_load_string($xmlstring, 'SimpleXMLElement', LIBXML_NOCDATA); 

$parent1 = $xml->parent1->asXml(); 
echo "<pre>";echo ($parent1);echo "<pre>"; 

这将输出:

<child1>blah</child1> 
<child2>blah blah</child2>