【发布时间】:2011-05-22 08:49:36
【问题描述】:
我正在尝试读取以下 XML 字符串中的相关节点,以最终显示:
flerror:0
来自目录的消息:正在 Pings 转发到 11 个服务!
<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member><name>flerror</name><value><boolean>0</boolean></value></member>
<member><name>message</name><value><string>Pings being forwarded to 11 services!</string></value></member>
</struct>
</value>
</param>
</params>
</methodResponse>
我尝试使用:
$doc = new DOMDocument();
$doc->loadXML($xmlString);
$value = $doc->getElementsByTagName("value");
$value = $value->item(0)->nodeValue;
并获得:
<br>flerror0<br>
messagePings being forwarded to 11 services!
然后我可以使用字符串解析函数来分离字符串,但是我需要一个更简洁的解决方案。
任何可能避免额外字符串解析的建议改进?
谢谢!
【问题讨论】:
-
您的代码适用于我:codepad.org/aximvvBG。
nodeValue将为您提供要获取的元素的组合 DOMTextNode 值。如果您想要单独的 nodeValues,请获取单独的节点并使用sprintf格式化输出