【发布时间】:2020-10-13 16:27:31
【问题描述】:
我正在创建一个 python 脚本来修改一个 xml 文件,假设我有这种标签:
<z:row MGFF_SCRIPT='
If Variabili("UFFICIOPA") = "" Then
elemento = "0000000"
Else
elemento = Variabili("UFFICIOPA")
End If
'/>
我需要访问MGFF_SCRIPT属性的值,修改它然后插入到相同的位置;问题是当我获取属性 (Element.get(key)) 的值并将其保存在 py 字符串中时:它没有换行符/缩进,它是单行字符串,因此,当我将修改后的值放入属性中时并创建新的 xml,我将拥有属性 MGFF_SCRIPT,其内容写在一行中。因为内容是脚本,所以这种情况会产生很多问题。 如何解析保留换行符/缩进的属性内容?
【问题讨论】:
-
属性值中的换行符只是要规范化的空格。它们应该随着符合 DOM 的解析器而消失。您希望通过解析器保留的换行符应使用
&#10;实体进行编码。我不知道是什么创建了该 XML,但它未能进行实体替换。如果您想在 XML 文档中保留间距,这就是 CDATA 部分的用途。
标签: python python-3.x xml parsing lxml