【发布时间】:2011-11-17 17:11:20
【问题描述】:
我有一个解析一些 xml 文本的 php 页面。该文本来自 html 文本字段中的用户输入。
只要节点之间有任何空白,Domdocument xml 解析器就无法正确解析文档。本质上它会识别第一个节点,但它无法找到任何嵌套节点。
去掉空格,没问题。
$xmldoc = new DOMDocument();
$xmldoc->loadXML($rawxml);
$top = $xmldoc->documentElement;
if(!$top) {echo "error: xml config is empty"; exit(-1);}
if($top->nodeName != "config") die("error: expect config tag as first element");
$nameNode = $top->childNodes->item(0);
//Fails here
if($nameNode->nodeName != "name") die("error: expect name tag following config tag");
作品
<config><name>sdf2</name></config>
不工作
<config> <name>sdf2</name></config>
【问题讨论】:
-
我很笨......可以使用正则表达式......$rawxml = preg_replace("/>\s+", ">
-
@user623879 这是错误的方式。阅读stackoverflow.com/questions/3577641/…
标签: php xml domdocument