这是因为 XML 只有五个内置实体。关于内置实体的详细信息,请参阅如何加载有外国和特殊字符的文档?。
要使用 HTML 实体,需要用 DTD 定义它们。有关 DTD 的详细信息,请参阅 W3C XML 建议(英文)。要使用该 DTD,请将它直接包括在 DOCTYPE 标记中,如下所示:
Copyright 2000, Microsoft Inc, All rights reserved.
要加载它,需要关闭 IXMLDOMDocument 接口的 validateOnParse 属性。请尝试将它粘贴到“Validator 测试页”中,关闭 DTD 验证,然后单击“验证”。请注意文档将加载,并且版权字符将显示在 validator 页面的末尾的 DOM 树中。
如果已经完成了 DTD 验证,那么必须将作为参数实体的 HTML 实体包括在现有的 DTD 中,如下所示:
%HTMLENT;
%HTMLENT;
它将定义所有 HTML 实体,以便在 XML 文档中使用它们。
在元素内容中如何处理空白字符?
XML DOM 有三种访问元素文本内容的方式:
属性 行为
nodeValue 按照原始的 XML 源中指定的那样,返回 TEXT、CDATA、COMMENT 和 PI 节点上的原始文本内容(包括空白字符)。对于 ELEMENT 节点和 DOCUMENT 本身,则返回空值。
数据 与 nodeValue 相同
文本 重复连接指定子树中的多个 TEXT 和 CDATA 节点并返回组合结果。
注意: 空白字符包括新行、tab 和空格。
nodeValue 属性通常返回原始文档中的内容,与文档如何加载和当前 xml:space 范围无关。
文本属性连接指定子树中的所有文本并扩展实体。这与文档如何加载、preserveWhiteSpace 开关的当前状态和当前 xml:space 范围有关,请看如下所示:
preserveWhiteSpace = true when the document is loaded
preserveWhiteSpace=true preserveWhiteSpace=true preserveWhiteSpace=false preserveWhiteSpace=false
xml:space=preserve xml:space=default xml:space=preserve xml:space=default
保留 保留 保留 保留并截断
preserveWhiteSpace = false when the document is loaded
preserveWhiteSpace=true preserveWhiteSpace=true preserveWhiteSpace=false preserveWhiteSpace=false
xml:space=preserve xml:space=default xml:space=preserve xml:space=default
半保留 半保留并截断 半保留 半保留并截断

