2011-05-12 99 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