Python XML:用“而不是”代替

发布于 2021-01-29 14:10:38

我正在使用Python的xml
minidom,并且一切正常,除了在文本序列中它写出&quot转义字符而不是"。如果引号出现在标签中,这当然是有道理的,但它使我在文本中感到困惑。我该如何改变?

关注者
0
被浏览
135
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    查看源代码(如果需要的话,则为Python
    3.2),这在_write_data()函数中进行了硬编码。您将需要修改TextNode的writexml()方法-通过对其进行子类化或简单地对其进行编辑-
    使其不调用该方法,而是进行类似于仅转义<和>的操作。

    如果您在程序包外部创建了一个子类(而不是复制和修改程序包以创建自己的自定义xmlminidom),则只要稍加注意,就可以使一切正常。因此,您将创建自己的TextNode(的子类),按上述方法进行修改,然后将文本添加到DOM,则将添加新类的实例(或用该类的实例替换现有的文本节点)。您将需要设置ownerDocument属性。也许最简单的方法是还继承Document并修复createTextNode()方法。

    但我没有看到一种更简单的方式来做您想要的事情。最好使用更好的dom实现。

    ps我不知道xml规范是否需要这种行为。更新:对http://www.w3.org/TR/2008/REC-
    xml-20081126/#syntax的快速扫描表明,只有<和& 必须 被编码。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看