我正在考虑制作一份智能报告,描述n
XML配置文件与一组规则的比较结果。
a.b.Default.StartTime=00:00:00
a.b.Default.SomePath:exists
a.b.Default.BeginString:value_a|value_b
我正在推动3种断言类型:
我可以用一个库来优雅地处理这个问题吗?
对Perl
,Python
的任何指示都将非常受欢迎
答案 0 :(得分:1)
答案 1 :(得分:1)
易于推荐用于处理XML的Perl库XML::LibXML
和XML::Twig
。他们将解析XML并交给您可以使用的Perl数据结构。
提供XML::LibXML
接口的libxml2
文档可在多个单独的页面中找到。您可能需要先查看XML::LIbXML::Reader
,这是一个遍历文档流的pull-parser,而不是加载整个树,也可能是XPath context
和Schema validation
上的那些。
XML::Twig
可以将小文档作为树加载,或者以组合流/树模式处理“巨大”文档。它在xmltwig.org
上有很多(附加)文档。
这两个模块都是完整的真正的XML库。首先,两者都充分利用了XPath expressions
,帮助在文档中搜索具有特定属性或值的元素。