第三章 XML解析器,验证器,转换器,编辑器等

本文介绍了XML的核心技术,包括XML验证器、转换器和解析器的功能及应用,探讨了XML编辑器的重要性,并解释了如何正确处理XML文档中的特殊字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xml有这么多的规则,写出来的xml文本文件到底符不符合要求呢?
用人工检验的方式效率太低,也容易出错,所以开发出了程序来验证。

xml验证器:

XML DTD和XML Schema,后者用来替代前者。
如果 XML 文档存在错误,那么程序就不应当继续处理这个文档。理由是,XML 软件应当轻巧,快速,具有良好的兼容性。

Xml转换器:

XSLT
您可以把 XML 文档转换成 HTML 格式。XSLT 是在浏览器显示 XML 文件之前,先把它转换为 HTML。

xml解析器:

XML DOM:定义了访问和操作 XML 文档的标准方法。
在所有主流的浏览器中,均能够查看原始的 XML 文件。
不要指望 XML 文件会直接显示为 HTML 页面。
要想显示xml的内容,两种方法:
第一,是通过使用 XSLT,在使用 XSLT 来把 XML转换成html 时,不同的浏览器可能会产生不同结果。为了减少这种问题,可以在服务器上进行 XSLT 转换。

第二,也是最标准流程,所有现代浏览器都有内建的 XML 解析器,XML 解析器把 XML 文档转换为 XML DOM 对象,再通过html显示出来。
注意,XML 文档中的所有文本均会被解析器解析。
只有 CDATA 区段中的文本会被解析器忽略。
当某个 XML 元素被解析时,其标签之间的文本也会被解析:

<message>This text is also parsed</message>

解析器之所以这么做是因为 XML 元素可包含其他元素,就像这个实例中,其中的 元素包含着另外的两个元素(first 和 last):

<name><first>Bill</first><last>Gates</last></name>

而解析器会把它分解为像这样的子元素:

<name>
<first>Bill</first>
<last>Gates</last>
</name>

某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由"<![CDATA[" 开始,由 "]]>" 结束:

<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>

始终要记得,XML本身仅仅是存储数据,被用来传输的,自身什么也不做,要如何显示是HTML或者javascript之类的事情。

xml 编辑器

XML 文档可以包含非 ASCII 字符,比如挪威语 æ ø å,或者法语 ê è é。
为了避免错误,需要规定 XML 编码,或者将 XML 文件存为 Unicode。
我们应该始终显式使用编码属性。

<?xml version="1.0" encoding="us-ascii"?>
<?xml version="1.0" encoding="windows-1252"?>
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-16"?>

在 Windows 应用程序中,换行通常以一对字符来存储:回车符(CR)和换行符(LF)。
在 Unix 和 Mac OSX 中,直接使用 LF 来存储新行。

XML 以 LF 存储换行,一个字符,不区分Windows还是unix,所以网络上通常都要求,不能用Windows的记事本编辑xml。
Windows 记事本默认会将文件保存为单字节的 ANSI(ASCII)。
如果您选择 “另存为…”,就可以指定 ANSI、UTF-8、Unicode(UTF-16)或 Unicode Big。

事实上,许多 Web 开发人员使用记事本来编辑 HTML 和 XML 文档(只要注意编码问题),这是因为最常用的操作系统都带有记事本,而且它很容易使用。
但是记事本有缺陷,不能确定您编辑的文档类型,而且无法辅助您的工作。
就类似我们写代码一样,简单代码用记事本确实可以,单独编译链接就行了。
但稍微复杂的代码,用记事本效率就差了,专用的代码编辑器能够10倍的提升工作效率。
专业的XML 编辑器也是同样道理,它会帮助您编写无错的 XML 文档,根据某种 DTD 或者 schema 来验证 XML,以及强制您创建合法的 XML 结构。
比如为开始标签自动添加结束标签
比如强制您编写合法的 XML
比如根据某种 Schema 来验证 XML
比如对您的 XML 语法进行代码的颜色化,方便观察
网上推荐XMLSpy编辑器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值