【发布时间】:2011-05-09 23:30:21
【问题描述】:
我正在尝试获取此 XML 文件第五行中的错误数:
<summary>
<result usecase="CRUD" target="AppHost">
<testcase size="1" cvus="1">
<sequence tps="0.25" totaltx="1" name="CRUD" min="3515" max="3515" errors="0" average="3515.0">
<node tps="0.25" totaltx="1" name="localhost" min="3515" max="3515" errors="0" average="3515.0">
[…]
</node>
</sequence>
</testcase>
</result>
</summary>
使用 XML::DOM::Parser 和这段代码:
my $parser = new XML::DOM::Parser;
my $doc = $parser->parsefile($file);
my $root = $doc->getDocumentElement();
foreach my $child ($root->getChildNodes) {
print $child->getNodeName();
print "\n";
}
但我得到的不仅仅是打印“结果”,而是:
#text
result
#text
要达到第五行“node”节点的参数,我想使用getFirstChild方法,但我不能,因为它会寻找“#text”的子节点。
这个#text 对象是什么?我应该怎么做才能到达第五个节点?
谢谢,
凯文
【问题讨论】:
-
XML::DOM 是非标准的。您应该改用
XML::LibXML。
标签: xml perl dom xml-parsing