RedHat 上是否有可用的解析 xml 文件的本机工具?

RedHat 上是否有可用的解析 xml 文件的本机工具?

是否有任何类似于 xpath 的实用程序可用于解析 RedHat 服务器上本机提供的 XML 文件?

类似问题已得到解答别处,但列出的工具都不在服务器上。

更新: xmllint已安装,并man xmllint表明它可以解析 xml 文件,但不清楚这是否使我能够从特定节点提取字符串。

答案1

尝试xmllint--xpath选择:

<xml>
  <hello>world!</hello>
</xml>

$ xmllint --xpath '//hello/text()'
world!

答案2

如果给定此 XML

$ cat a.xml
<一>
  <b>你好</b>
  <b>世界</b>
</一>

你想做到

$./xpath//a/b a.xml
你好
世界

然后你可以剪切并粘贴这个:

$ 猫 xpath
/usr/bin/perl 的 #!
使用严格;
使用警告;
使用 XML::LibXML;

我的 $parser = XML::LibXML->new();
我的$document = $parser->parse_file($ARGV[1]);
我的@nodes = $document->findnodes($ARGV[0]);
对于我的 $node (@nodes) {
  打印 $node->textContent,“\n”;
}

您应该能够使用以下方法安装 XML::LibXML 模块perl -MCPAN -e 'install XML::LibXML'

答案3

答案4

在 RHEL 7 上

yum install libxml2

给你

xmllint

它可以解析 XML 文件

# xmllint 
Usage : xmllint [options] XMLfiles ...
        Parse the XML files and output the result of the parsing

相关内容