2011-05-12 98 views
1

如果標題混亂,我很抱歉。我正在研究一種類似於HTML的XML解析器,但是它使非編碼器更容易。解析器將讀取一個XML節點,並打印出相應的HTML代碼。我想到的困難是我想能夠以字符串的形式訪問節點內的所有內容(包括任何子節點)。現在我正在使用PHP的Simple XML。從XML節點獲取所有內容作爲字符串

<parent>
some plane text. some Plane text. <child prop="test" /> more plane text
</parent>

我希望能夠打印出:
回聲$ XML->父[0];作爲
some plane text. some Plane text. <child prop="test" /> more plane text

在這裏,我會做子字符串搜索將拉出的子節點和不同的方式處理它。簡而言之,我想打印出一些文本,然後讀取子節點,並繼續打印出文本,直到讀取新的子節點。

感謝您的幫助!

+0

我可以告訴你如何與DOM文檔:) – alex 2011-05-12 00:46:28

回答

2
$xml->parent[0]->asXML(); 

將輸出

<parent> some plane text. some Plane text. <child prop="test" /> more plane text </parent>

它可以包括根據元件XML聲明。然後您可以剝離開始和結束標籤。

你可以做的是使用此項功能:

function xml_contents($node) 
{ 
    $str = $node->asXML(); 
    $i = strlen($node->getName()) + 2; 
    return substr(substr($str, $i), 0, -1 - $i); 
} 
+0

asXML()來做到這一點是我一直在尋找了30多分鐘,謝謝合作爲了我。 – 2013-07-29 13:31:07