- 关 键 词:
- visual c++
- microsoft
- html
注意: 空白字符包括新行、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 |
| 半保留 | 半保留并截断 | 半保留 | 半保留并截断 |
此处的保留表示和原始 XML 文档中完全相同的原始文本内容,截断意味着前导和尾部空格已经删除,半保留意味着保留了“重要的空白字符”并规范化了“不重要的空白字符”。重要的空白字符是文本内容内部的空白字符。不重要的空白字符是标记之间的空白字符,请看如下所示:
| \n \t Jane\n \tSmith \n |
在本示例中,红色是可以忽略的不重要的空白字符,而绿色是重要的空白字符,因为它是文本内容的一部分,因此有不可忽略的重要含义。所以在本例中,文本属性返回下列结果:
状态 返回值
保留 "\n\t Jane\n\tSmith \n"
保留并截断 "Jane\n\tSmith"
半保留 " Jane Smith "
半保留并截断 "Jane Smith"
请注意“半保留”将规范化不重要的空白字符,例如,新行和 tab 字符将退化为单个空格。如果更改 xml:space 属性和 preserveWhiteSpace 开关,那么文本属性将返回相应的不同值。
CDATA and xml:space="preserve" subtree boundaries
在下面的例子中,CDATA 节点或“保留”节点的内容将得到连接,原因是它们不参与不重要的空白字符规范化。例如:
| \n \t Jane \n \t Smith ]>\n |
在这种情况下,CDATA 节点内部的空白字符不再与“不重要”空白字符“合并”,并且不会截断。因此“半保留并截断”情况将返回下列内容:
"Jane Smith "
XML 中的常见问题 (一) | XML 中的常见问题 (二)图 文 结 合:http://www.qqread.com/xml-soap/k321733060.html



