我使用下面的代码从
XML文件中获取节点的值:
use XML::XPath; use XML::XPath::XMLParser; my $pt1 = XML::XPath->new(filename => 'test1.xml'); my $nodeset = $pt1->find('/file1/table/tname'); foreach my $node ($nodeset->get_nodelist) { print $node->getNodeValue."\n"; }
‘test1.xml’的内容如下:
<file1> <table> <tname>_sys_ident</tname> <ttype>regular</ttype> <col> <name>_sys_ident_asp</name> <type>varchar(16)</type> <fkey>_sys_asp</fkey> <attr>PRIMARY KEY</attr> </col> </table> </file1>
我想打印tname的值(即_sys_ident).
但上面的代码没有打印任何东西.
如果我在for循环中使用以下内容:
print XML::XPath::XMLParser::as_string($node);
然后,它给出以下输出:
<tname>_sys_ident_asp</tname>
我不想要这个完整的节点名称和值字符串.我只想要节点值.
这是我第一次尝试使用XML和XPath.请告诉我我做错了什么.
解决方法
原文地址:https://www.jb51.cc/Perl/241684.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。