- 论坛徽章:
- 0
|
下面代码和xml来自网上,我加入了汉字后,就不能正确执行了。
请教如何解决!
- #!/usr/bin/perl
- use strict;
- use warnings;
- use XML::XPath;
- use utf8;
- #binmode(STDOUT, ":utf8");
- my $xp=XML::XPath->new(filename=>"employees.xml");
- #测试节点
- print $xp->exists('/employees/employee[@age="10"]/name'),"\n";
- #获取节点值
- print $xp->findvalue('/employees/employee[@age="10"]/name'),"\n";
- #获取节点值
- print $xp->findvalue('/employees/employee[@age="30"]/工作'),"\n";
- #获取节点属性值
- print $xp->findvalue('/employees/employee[1]/@age'),"\n";
- #遍历节点
- my $nodeset=$xp->find('/employees/employee');
- foreach my $node ($nodeset->get_nodelist){
- print $node->findvalue("country"),"\n";
- }
复制代码
employees.xml
- <?xml version="1.0" encoding="utf-8" ?>
- <employees>
- <employee age="30">
- <name>linux</name>
- <country>US</country>
- <工作>教师</工作>
- </employee>
- <employee age="10">
- <name>mac</name>
- <country>US</country>
- </employee>
- <employee age="20">
- <name>windows</name>
- <country>US</country>
- </employee>
- </employees>
复制代码 |
|