如何防止外籍人员自动替换实体?

2024-09-30 20:32:38 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个expat解析器,如下所示:

def on_character_data(data):
    print(data)

parser = xml.parsers.expat.ParserCreate(encoding=encoding)
...
parser.CharacterDataHandler = on_character_data
...

还有一个XML文档,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
  </head>
<body>
  ampersands &amp; other annoyances
</body>
</html>

如果我调用parser.Parse(test_xml_string),处理程序on_character_data()将接收字符串ampersands &amp; other annoyances作为ampersands & other annoyances,其中&amp;替换为&。我希望expat忽略这些实体,以便on_character_data()将接收未修改的ampersands &amp; other annoyances。我有什么办法可以做到这一点吗


Tags: httpparserdataonhtmlbodyxmlhead