视频稍后补充:『阿男的XML教程』*02*xmllint的基本使用方法
libxml[1]是非常流行的开源xml工具包,在libxml当中提供了一个很好使的xml格式检查工具叫做xmllint。我们在自己的操作系统中安装libxml2就可以使用xmllint这个工具。在Fedora Linux下,使用"yum install libxml2"即可安装libxml2。我使用的是MacOS,所以使用homebrew来安装:
$ brew install libxml2
安装完成后,我们就可以使用xmllint这个工具了:
xmllint的功能很强大,我们在这篇文章里只做基本的应用,在后续的文章里,随着我们学习xml的深入,也会进一步使用xmllint的各项功能。
首先我们写一个有问题的xml文件:
<foo>
<1bar></1bar>
</foo>
上面的xml数据中,有一个不合规范的元素叫做"1bar"。在xml规范中,元素名字不可以使用数字开头。我们运行xmllint检查这个xml文件,看看它是否能检查出问题:
$ xmllint 02.xml
02.xml:2: parser error : StartTag: invalid element name
<1bar></1bar>
^
02.xml:2: parser error : expected '>'
<1bar></1bar>
^
02.xml:2: parser error : Opening and ending tag mismatch: foo line 1 and unparseable
<1bar></1bar>
^
02.xml:2: parser error : Extra content at the end of the document
<1bar></1bar>
^
可以看到,xmllint在检查出了这个错误:
02.xml:2: parser error : StartTag: invalid element name
<1bar></1bar>
^
然后后面报告的错误都是连锁反应了。于是我们修改一下这个xml文件让它的内容符合规范:
<foo>
<bar></bar>
</foo>
修改完成后,我们再次运行xmllint的检查:
$ xmllint 02.xml
<?xml version="1.0"?>
<foo>
<bar/>
</foo>
可以看到,这次xmllint没有报错。
以上是本讲内容。
[1] http://xmlsoft.org/