有没有办法添加/启动注释(例如 $dom->createComment ... ),以便注释掉整个 xml 标记块。基本上我想关闭评论之间的内容。例如,它看起来像这样:
<TT>
<AA>keep</AA>
<!-- comment to blocking
<BB>hideme1</BB>
<CC>hideme2</CC>
-->
<DD>d's content is good</DD>
</TT>
实际上,这个问题是我试图找出一种能够标记/标记/识别对 xml 文件的更改以支持新客户端软件功能的方法的前导,但能够删除 /在客户端需要回退到以前的软件版本的极少数情况下撤消这些 xml 更改(不,我不能简单地指向原始 xml 文件,因为允许客户端对现有节点文本进行细微修改值)。这一切都将通过 perl 脚本和 LibXML 的核心模块进行控制(我不能使用客户端没有的模块)。
所以基本上我已经确定了由于新的客户端 sw 功能而导致的三种可能的 xml 更改类型:1.)添加新元素节点(通常是为了支持新的 sw 功能)2.)删除元素节点,或者块(很少见,但可能性很小) 3.)更改节点文本值(很少见,但新 sw 可能需要新值)
对于所有三种类型,客户端都需要能够撤销更改。我想使用的一件事是属性,因为现有的 xml 文件不使用它们。例如,对于 ADD 更改类型,我可以包含类似 'ADD="sw version 4.1"' 的属性。这样,如果需要删除它,我可以简单地让 perl 脚本找到那些属性字符串并删除它们(使用 LibXML 方法)。与 CHANGE 更改类型相同 - 我可以使用 CHG="newvalue_oldvalue" 之类的属性,然后再次使用直接 perl(或 LibXML)根据属性的内容切换回值。不过,DELETE 更改类型给我带来了问题(以及其他人哈哈!)。我希望能够“保持”
我知道这很多,我是 LibXML 的新手(但不是 perl)。我只是想知道你们中是否有人对如何去做有任何想法或看到任何类似这种要求的东西......我将不胜感激任何建议!谢谢...