在Perl中使用Mojo :: DOM的XML模式,如何匹配子标签的内容?

在Perl中使用Mojo :: DOM的XML模式,如何匹配子标签的内容?,第1张

概述我有以下 XML: <Product> ... <TitleDetail> <TitleType>01</TitleType> <TitleElement> <TitleElementLevel>01</TitleElementLevel> <TitleText>This is the title I'm looking for< 我有以下 XML:

<Product>  ...    <TitleDetail>      <TitleType>01</TitleType>      <TitleElement>        <TitleElementLevel>01</TitleElementLevel>        <TitleText>This is the Title I'm looking for</TitleText>      </TitleElement>    </TitleDetail>  ...</Product>

(如果你好奇的话,这是ONIX.)

我想提取01类型的标题.
我试过了:

say $dom->at('TitleDetail[TitleType="01"] > TitleElement > TitleText')

但这不起作用.看起来标签[attr = value]语法实际上只适用于属性.

有一种简单的方法可以做我想要的吗?

解决方法 它可以用Mojo :: DOM完成,但它很长.有几次Mojo :: Collections在那里,所以你需要得到第一个元素.

use Mojo::DOM;my $dom = Mojo::DOM->new->xml(1)->parse($xml);say $dom->find("TitleType")->grep(sub{ $_->text eq "01"})->first    ->following("TitleElement")->first->at("TitleText")->text;
总结

以上是内存溢出为你收集整理的在Perl中使用Mojo :: DOM的XML模式,如何匹配子标签的内容?全部内容,希望文章能够帮你解决在Perl中使用Mojo :: DOM的XML模式,如何匹配子标签的内容?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1265832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存