使用XML::Simple读取多个XML文本值
我开始学习英语 模块 但我不明白如何读取标签和获取数据供我使用 下面是我从XML文件中解析一小部分的尝试。我想选择一个逗号分隔的使用XML::Simple读取多个XML文本值,xml,perl,Xml,Perl,我开始学习英语 模块 但我不明白如何读取标签和获取数据供我使用 下面是我从XML文件中解析一小部分的尝试。我想选择一个逗号分隔的customfieldvalue元素文本内容列表 例如,输出应如下所示: print“customfieldvalue are=$myvalues\n”; #customfieldvalue=UNIX,PERL 在阅读了XML部分后,我被卡住了,请帮助我实现这一点 #/usr/bin/perl-w 严格使用; 使用XML::Simple; 使用数据::转储程序; my
customfieldvalue
元素文本内容列表
例如,输出应如下所示:
print“customfieldvalue are=$myvalues\n”;
#customfieldvalue=UNIX,PERL
在阅读了XML部分后,我被卡住了,请帮助我实现这一点
#/usr/bin/perl-w
严格使用;
使用XML::Simple;
使用数据::转储程序;
my$xml=newxml::Simple;
my$cdata=加入(“”,);
my$data=$xml->XMLin($cdata,KeyAttr=>['id']);
打印转储程序($cdata);
__资料__
节目
来代替使用
使用XML::LibXML qw();
my$dom=XML::LibXML->load_XML(字符串=>\
XML
my@values=map{$\->textContent}$dom->findnodes('//customfieldvalue');
#(“UNIX”、“PERL”)
来代替使用
使用XML::LibXML qw();
my$dom=XML::LibXML->load_XML(字符串=>\
XML
my@values=map{$\->textContent}$dom->findnodes('//customfieldvalue');
#(“UNIX”、“PERL”)
XMLin
和KeyAttr
来自,不是。抱歉,感谢突出显示。更正。XMLin
和KeyAttr
来自,不是。抱歉,感谢突出显示。更正。感谢指导。但是找不到/安装XML::LibXML:-(XML::Twig
可能会安装-这是另一个常见的选择。但是没有XML解析器是“核心”(甚至不是XML::Simple
)。感谢您的指导。但是XML::LibXML没有找到/安装:-(XML::Twig
可能会安装-这是另一个常见的选择。但是没有XML解析器是“核心”(甚至不是XML::Simple
)。
use XML::LibXML qw();
my $dom = XML::LibXML->load_xml(string => \<<'XML');
<customfield id="customfield_66440" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
<customfieldname>Program</customfieldname>
<customfieldvalues>
<customfieldvalue key="125160"><![CDATA[UNIX]]></customfieldvalue>
<customfieldvalue key="125160"><![CDATA[PERL]]></customfieldvalue>
</customfieldvalues>
</customfield>
XML
my @values = map { $_->textContent } $dom->findnodes('//customfieldvalue');
# ("UNIX", "PERL")