如果标题令人困惑,我很抱歉。 我正在开发一个XML解析器,它的作用类似于HTML,但使非编码人员更容易。 解析器将读取一个 XML 节点,并打印出相应的 HTML 代码。 我遇到的困难是我希望能够以字符串形式访问节点内的所有内容(包括任何子节点)。 现在我正在使用PHP的Simple 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
从这里开始,我将进行子字符串搜索,这些搜索将拉出子节点并以不同的方式处理它。 简单来说,我想打印出一些文本,然后读取子节点,并继续打印出文本,直到读取新的子节点。
感谢您的帮助!!
$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);
}