2016-06-29 69 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>