python - 使用多行属性解析 XML

标签 python python-3.x xml parsing lxml

我正在创建一个 python 脚本来修改 xml 文件,假设我有这种标签:

<z:row MGFF_SCRIPT='
        If Variabili(&#x22;UFFICIOPA&#x22;) = &#x22;&#x22; Then
            elemento = &#x22;0000000&#x22;
        Else
            elemento = Variabili(&#x22;UFFICIOPA&#x22;)
        End If
        '/>

我需要访问MGFF_SCRIPT属性的值,修改它然后将其插入到相同的位置;问题是当我获取属性的值 (Element.get(key)) 并将其保存在 py 字符串中时:它没有换行符/缩进,它是单行字符串,因此,当我将修改后的值放入属性中时并创建新的 xml,我将拥有属性 MGFF_SCRIPT,其内容写在一行中。由于内容是脚本,这种情况会产生很多问题。 如何解析属性内容并保留换行符/缩进?

最佳答案

XML 规范中的一条相当不幸的规则是 XML 解析器需要执行 attribute value normalization - 这意味着属性值中的换行符被空格替换。除非您的 XML 解析器有一个选项可以抑制这种情况(大多数情况下没有,因为规范要求它),否则您将不得不使用它。

关于python - 使用多行属性解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64339327/

相关文章:

python - 如何使用作为环境变量生成的 PyNaCl key

python - 无法将输出转换为列表

python - Python 中带键的 sort_values()

java - 膨胀类 fragment 时出错

python - 如何使用 Python 2.7 在 AWS Lambda 中编写 hello world 示例?

python - Numpy ndarray 乘法

python - 如何有效地将 Google BigTable 中的行读入 pandas DataFrame

python-3.x - 如何使用 PyQt5 在 Qt 中显示数学排版(MathJax、LaTeX 等)?

json - MarkLogic 8 - 即使我们指定了 JSON,Rest 端点也返回 XML

javascript xml节点值不工作