有一个xml文件:
<body>
<entry>
I go to <hw>to</hw> to school.
</entry>
</body>由于某种原因,在使用lxml解析器解析之前,我将<hw>更改为<hw>,将</hw>更改为</hw>。
<body>
<entry>
I go to <hw>to</hw> to school.
</entry>
</body>但是在修改解析后的xml数据之后,我希望获得一个<hw>元素,而不是<hw>。我该怎么做呢?
发布于 2013-02-02 15:26:13
首先找到一个unescape函数:
from xml.sax.saxutils import unescape
entry=body[0]取消转义并将其替换为原始代码:
body.replace(entry, e.fromstring(unescape(e.tounicode(entry))))发布于 2013-02-02 15:14:37
如果您知道哪个元素包含错误转义的元素:
# parse whole document as usual..
# find the entry element..
# parse the fragment
fragment = lxml.fromstring(entry.text)
# (optionally) add the fragment to the tree
entry.text = None
entry.append(fragment)https://stackoverflow.com/questions/14659423
复制相似问题