gpt4 book ai didi

xml - 将 XML 标记存储到 shell 中的 Perl 变量

转载 作者:数据小太阳 更新时间:2023-10-29 03:02:40 25 4
gpt4 key购买 nike

我正在运行 awk 命令以从文件中提取 XML 标记,它在我的控制台中成功运行并打印输出所需的标记

awk '/<tag name="some_name">/,/<\/tag>/' file

现在我需要在 Perl 脚本中调用此命令并将控制台中的输出传递给此变量,以便使用 Perl 操作此结构。

我试过了

my $var=`awk '/<tag name="some_name">/,/<\/tag>/' file`

但这不起作用,我有这个错误

awk: cmd. line:1: /<tag name="some_name">/,/</tag>/
awk: cmd. line:1: ^ unexpected newline or end of string

我如何修改这个变量赋值,甚至使用其他方法来解决我的问题。我对所有提议都持开放态度,即使一开始不使用 awk 并且只使用 Perl。

最佳答案

我建议改用实际的 xml 解析器,例如 XML::LibXMLXML::Twig

use strict;
use warnings;

use XML::LibXML;

my $dom = XML::LibXML->load_xml(
location => 'file'
);

my @nodes = $dom->findnodes(q{//tag[@name="some_name"]});

print $nodes[0]->textContent();

关于xml - 将 XML 标记存储到 shell 中的 Perl 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22969091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com