简介
人们都很喜欢XML以及它所提供的灵活性和互操作性,但是,通过使用一些技巧,可以使与XML的互操作和与XML一起使用的工具更加简单。在处理XML时养成一些良好的习惯可以保证最高效地利用您的XML文档和应用程序。
使用 10 种良好的习惯
以下是 10 种最良好的XML习惯:
定义XML和编码
使用 DTD 或 XSD
记得进行验证
验证并不总是能够解决问题
XML 结构和属性
使用 XPath 查找信息
并不总是需要使用解析器提取信息
何时使用 SAX 而非 DOM 解析
何时使用 DOM 而非 SAX 解析
使用良好的XML编辑器
定义XML和编码
在快速创建XML文档时,一般都会倾向于创建基本的结构并避开一些普通XML文档需求,包括指定XML文档声明和XML文档包含的数据的编码类型。
考虑清单 1 所示的XML文档。
清单 1. 未包含XML声明和数据编码类型的XML文档
<phrases>
<phrase lang="en">Hello</phrase>
<phrase lang="it">Buongiorno</phrase>
<phrase lang="fr">Salut!</phrase>
</phrases>
对于普通人来说,可以查看该文档并将其识别为XML,但是对于计算机来说,则很难作出这样的判断。在文件顶部添加XML声明,可以使它更加明确、更容易识别。一行简单的代码就可以说明文档是XML,并且指出版本号和XML数据使用的字符编码类型。例如:
<?xml version="1.0" encoding="us-ascii"?>
编码说明中的内容也应该确保正确性。XML 解析器使用编码确保XML文档的单个字符被正确载入。例如,继续 清单 1 中基于短语的示例,如果向文档添加一个俄语条目,则会出现问题,因为目前指定的编码不支持扩展的字符集(使用俄语短语表示 hello 时要求使用扩展字符集)。
指定错误的编码意味着解析器不能正确处理文档;例如,如果将一个多字节扩展字符读取为一个单字节组成的序列,那么会导致数据的损坏和不良输出。