哪个Perl模块既解析又编写XML,严格遵守节点顺序?

时间:2014-02-17 10:10:47

标签: xml perl

使用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>

我习惯XML::TreePP,但在解析这样的示例时,即使使用Tie::IxHash,它也会创建两个列表引用$xml->{'root'}{'inode'}$xml->{'root'}{'leaf'},这意味着如果我试着再写一次我会得到这个:

<?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>

是否有人知道Perl模块可以解析表示XML标记的字符串,对其进行一些修改,然后将其作为字符串写回来,一直严格遵守原始的顺序?因为它是纯粹的 - Perl并非绝对必需,尽管它​​是首选。

0 个答案:

没有答案