

新闻资讯
技术学院XML中换行和空格默认保留,但是否视为有意义空白取决于解析器及xml:space属性;该属性取值default(按默认规则处理)或preserve(强制保留所有空白),具继承性,仅作用于字符数据中的空白。
XML 中的换行和空格默认是**保留的**,但具体是否被应用程序当作有意义的空白(比如排版、缩进)来处理,取决于解析器行为和 xml:space 属性的设置。
xml:space 是一个标准 XML 属性,用于显式告诉 XML 处理器:当前元素及其子元素中的空白字符(空格、制表符、换行)是否应被“保留”或“忽略”。它只有两个合法值:
当你的 XML 内容本身依赖格式(比如诗歌、代码片段、预格式化文本),而下游程序(如 XSLT 转换、浏览器渲染、富文本编辑器导入)可能默认压缩或丢弃换行时,就需要用它。
例如:
时照我还?这样,XSLT 或 CSS white-space: pre 渲染时就能正确显示缩进和换行。
xml:space 具有**继承性**:在一个元素上设为 preserve,它的所有子元素也默认继承该行为,除非子元素显式覆盖为 default。
注意:xml:space 只影响**字符数据(#PCDATA)中的空白**,不影响元素标签之间的空白(即“标记外空白”),后者通常由解析器决定是否保留在 DOM 树中(如 Python 的 xml.etree.ElementTree 默认会丢弃)。
),且需保留换行,加 xml:space="preserve"
可全局去除指定元素的空白,与 xml:space 配合使用更灵活xml:space 无关