perl - xml::Twig 和 findnodes

标签 perl xpath xml-twig

我有以下 xml 代码片段:

<a>
  <b> textb <b>
  <c> textc <c>
  <d> textd <d>
<\a>
<a>
  <b> textb <b>
  <c> textc <c>
  <d> textd <d>
<\a>

我用 xml::twig解析如下:
my @c= map { $_->text."\n" } $_->findnodes( './a/');

并将 textbtextctextd 作为数组的一个元素。是否可以选择使用 findnodes
textb,textc,textd 作为 3 个数组元素而不是一个?

最佳答案

使用表达式末尾的星号:

$_->findnodes( './a/*');

'*' 匹配任何标签,因此您将获得 3 个子节点 - 您当前的示例仅匹配 'a',其文本是嵌套元素文本的串联。

关于perl - xml::Twig 和 findnodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672053/

相关文章:

perl - 有没有办法判断模块是从哪个@INC 路径加载的?

regex - Perl 迭代每个匹配项

arrays - 文件句柄内的 while 循环后数组被刷新

xml - 如何使用 Perl 的 XML::Twig 从 XML 中提取子值?

perl - XML 文件的并行处理

perl - 仅从命令行打印 perl 中的匹配行

python - 如何从python字符串中删除括号?

html - 使用 Swift 从网站解析表格数据

python - 如何使用 xpath 为这种 html 提取所有常规段落?

xml - 使用 XML::Twig 处理巨大文件 (>10 GB) 的性能问题