哪个Perl模块严格遵守节点顺序,同时解析和写入XML?

哪个Perl模块严格遵守节点顺序,同时解析和写入XML?,xml,perl,Xml,Perl,当使用XML注释文本而不是作为半结构化数据库语言时,节点顺序非常重要。例如,在本例中,inode可以是短语和叶子、标记: <?xml version="1.0" encoding="UTF-8"?> <root> <inode> <leaf id="a"/> </inode> <leaf id="b"/> <inode> <leaf id="

当使用XML注释文本而不是作为半结构化数据库语言时,节点顺序非常重要。例如,在本例中,inode可以是短语和叶子、标记:

<?xml version="1.0" encoding="UTF-8"?> 
<root>
    <inode>
        <leaf id="a"/>
    </inode>
    <leaf id="b"/>
    <inode>
        <leaf id="c"/>
    </inode>
    <leaf id="d"/>
</root>

有人知道Perl模块可以解析表示XML标记的字符串,对其进行一些修改,并将其作为字符串写回,同时严格遵守原始的顺序吗?要使其成为纯Perl并不是绝对必需的,尽管它是首选。

有一个标准,它必须是节点顺序感知的。不管怎么说,工具推荐都是离题的,因为我不得不将XML配置提供给一些原始的黑盒,所以我遇到了类似的问题<代码>XML::Smart写的和读的一样还不错。谢谢你的建议,抱歉@amon,我没有意识到这一点——考虑到大量可用的模块没有清楚地记录它们的功能,并且(假定)这个问题再次出现,在这里问这个问题似乎是有意义的。我应该删除这个问题吗?@scozy请不要删除这个问题。我认为这个问题离题了,但其他人可能会有不同的看法。无论哪种方式,你都可以回答你的问题,使它更适合你。在这方面有一些资源,也有一些讨论。我必须承认,你的问题是相当边缘性的,实际上可能还可以。答案几乎是除了
XML::TreePP
XML::Simple
之外的所有问题<建议使用code>XML::LibXML和
XML::Twig
<?xml version="1.0" encoding="UTF-8" ?>
<root>
    <inode>
        <leaf id="a" />
    </inode>
    <inode>
        <leaf id="c" />
    </inode>
    <leaf id="b" />
    <leaf id="d" />
</root>