如果标题令人困惑,我很抱歉。我正在研究一种类似于HTML的XML解析器,但是对非编码器来说更容易。解析器将读取XML节点,并打印出相应的HTML代码。我遇到的困难是我希望能够以字符串(包括任何子节点)访问节点内的所有内容。现在我正在使用PHP的Simple XML。
<parent>
some plane text. some Plane text. <child prop="test" /> more plane text
</parent>
我希望能够打印出来:
echo $ xml-&gt; parent [0];如
some plane text. some Plane text. <child prop="test" /> more plane text
从这里开始我将进行子字符串搜索,它将拉出子节点并以不同方式处理它。简单来说,我想打印一些文本,然后读取子节点,并继续打印文本,直到读取新的子节点。
感谢您的帮助!!
答案 0 :(得分: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);
}