Ada*_*tan 24 xml grep regex automation
我正在寻找一个很好的工具来对 XML 执行类似 grep 的操作 - 例如,仅提取某些属性。
Grep 本身无法处理它 - 任何 DFA 等效工具只能处理非递归匹配,而我的可能是递归的。
我试过xgrep,但它很不稳定,我想要一个稳定可靠的工具。
有什么建议吗?
编辑:我更喜欢在 Linux 下运行良好的开源工具。
Lud*_*erl 22
XMLStarlet(维基百科)是一个命令行工具,它接近于grep. 它是开源软件(MIT 许可),在 Linux 和 Windows 上运行良好。
XMLStarlet 网站对其进行了如下描述。
XMLStarlet 是一组命令行实用程序(工具),可用于使用简单的 shell 命令集转换、查询、验证和编辑 XML 文档和文件,其方式与使用 UNIX grep、sed、 awk、diff、patch、join 等命令。
Debian/Ubuntu 软件包名为xmlstarlet.
但要注意:与联机帮助页所说的相反,二进制文件xmlstarlet在 Debian/Ubuntu 中命名,而不是xml.
SourceForge 上也有 Windows 二进制文件。
有关不错的简介,请参阅 IBM 的开始使用 XMLStarlet。
在 Linux 下工作的工具是xml_grep。它完全理解 XML 并且不是逐行工具。
xml_grep作为独立工具包含在XML::Twig包中。grepping 功能非常强大,因为它支持XPath规范。
示例命令行(从三部曲数据转储中提取二月中旬之后编辑的帖子):
xml_grep -p --cond="row[@LastEditDate>'2010-02-14']" posts.xml > lateEditedPosts.xml
Run Code Online (Sandbox Code Playgroud)
安装很容易。任何一个
sudo cpan -i "XML::Twig",如下面引用的 xml_grep 说明书中所述。或者
下载http://xmltwig.org/xmltwig/XML-Twig-3.34.tar.gz或http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar 。广州。例如
wget http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar.gz
提炼: gunzip XML-Twig-3.34.tar.gz; tar -xvf XML-Twig-3.34.tar
进入文件夹: cd XML-Twig-3.34
安装:perl Makefile.PL -y。然后
make,make test和sudo make install。
更多信息:
我为xml_grep找到的最好的介绍是xml_grep cookbook,大约两页。其他: