如何使用Python处理空白';什么是元素树? 问题:

如何使用Python处理空白';什么是元素树? 问题:,python,xml,xsd,whitespace,elementtree,Python,Xml,Xsd,Whitespace,Elementtree,当空白不重要时,表示可能非常重要 说明: 在XML模式第2部分:数据类型第二版中,约束方面空白是为从字符串()派生的类型定义的。如果此空白面为替换或折叠,则在过程中可能会更改该值 以下内容末尾有一个注释: 此处(以及本规范其他地方)使用的符号#xA 表示十六进制A的通用字符集(UCS)代码点 (换行),由U+000A表示。这个符号是 区别于 ;,哪个是对它的XML字符引用 相同的UCS代码点 例子: 如果元素元素的数据类型具有空格约束折叠,“text”应变为“text”(前导和尾随空格已删

当空白不重要时,表示可能非常重要

说明: 在XML模式第2部分:数据类型第二版中,约束方面空白是为从字符串()派生的类型定义的。如果此空白面为替换折叠,则在过程中可能会更改该值

以下内容末尾有一个注释:

此处(以及本规范其他地方)使用的符号#xA 表示十六进制A的通用字符集(UCS)代码点 (换行),由U+000A表示。这个符号是 区别于 ;,哪个是对它的XML字符引用 相同的UCS代码点

例子: 如果元素元素的数据类型具有空格约束折叠
“text”
应变为
“text”
(前导和尾随空格已删除),但
“ ;text ;”
应变为
“text”
(按字符引用编码的空格未删除)

问题: 因此,要么由解析器/树生成器处理此规范化,要么在之后完成

  • 知情解析:
    • 在哪里向解析器或树生成器提供有关如何规范化某个XML元素的信息
    • 是否有类似于
      set\u whitespace\u规范化('./国家/邻居','折叠')
    • 解析器或树生成器中是否有类似于
      规范化(内容)
      的钩子
  • 后处理
    • 如何访问某个元素的原始内容
    • 是否存在可返回“
      &&x20;text&&x20;
      ”的
      元素原始文本
    • 是否存在可能返回“
      text
      ”的
      elem.unnormalized_text

我想使用Python的XML.ETRe.ErEntError,但是我会考虑任何其他的XML库来执行这个工作。 免责声明:


当然,声明空白不重要(替换折叠)然后使用字符引用进行欺骗是一种糟糕的风格。在大多数情况下,应该更改数据或模式以防止出现这种情况,但有时必须使用外部XML模式和外部XML文档。上面引用的注释的存在表明XML编辑器意识到了这一困境,并没有故意阻止它

这似乎是xml.etree.ElementTree中的已知错误:。根据该错误报告,这在lxml.etree中得到了正确处理