|
如何加载有外国和特殊字符的文档? 文档可以包含外国字符,例如: foreign characters (úóí?)
例如 磲 的外国字符必须在前面加上 escape 序列。外国字符可以是 UTF-8 编码或用不同编码指定,如下所示:
foreign characters (磲)
现在可以正确加载 XML 了。
其他字符是保留在 XML 中的,并且需要以不同的方式处理。下面的 XML: This & that 产生如下错误: 此处不允许有空格。 行 0000001: This & that 位置 0000012: ----------^
此处 & 是 XML 句法结构的一部分,如果它仅仅放在 XML 数据源内部,那么不能解释为 &。您需要替换称为“实体”的特殊字符序列。
This & that 下面的字符需要相应的实体: < < & & > > " " \' '
引号字符被用作标记中属性值的定界符,因此通常不能在属性值的内部使用。例如,下面的内容将返回错误:
此处的单引号既用作属性定界符,又在属性值自身中。为了纠正这个问题,可以将属性定界符换成双引号: 或者可以将单引号转义为实体 ' 上述两种方式都将通过 XML 对象模型中的 getAttribute 方法返回属性值 John\'s Stuff。同样,对于双引号,您可以使用实体 "。 也可以通过将文本放在 CDATA 节中来处理元素内容中的特殊字符。下面的内容是正确的: 在本例子中,XML 对象模型将 CDATA 节点显示 xml 节点的子节点,它将返回字符串 This & that is just "text" content. 作为 nodeValue。 如何在 Visual Studio 6.0 C++ 中使用 MSXML COM 组件? 在 Visual C++ 6.0 中使用 MSXML COM 组件的最简便方式是使用 #import 指令: #import "msxml.dll" named_guids no_namespace#import "msxml.dll" named_guids no_namespace 它定义了所有 IXML* 接口和接口 ID,从而可以在应用程序中使用它们了。也可以从 INETSDK 获取 MSXML 类型库和头文件(英文),以及包含类 IIDs 的 uuid.lib。 如何在 XML 中使用 HTML 实体? 下面的 XML 包含 HTML 实体:
| Copyright ? 2000, Microsoft Inc, All rights reserved. |
它产生下列错误:
| 引用未定义的实体 \'copy\'。 行: 1, 位置:23, 错误码:0xC00CE002 Copyright ? 2000, ... ----------------------^ |
这是因为 XML 只有五个内置实体。关于内置实体的详细信息,请参阅如何加载有外国和特殊字符的文档
|