XML与HTML以及JavaScript有什么关系
在之前的博文中提过,HTML和XML相互补充。前者负责数据的显示,而后者则负责数据的存储。
而Javascript则负责实现两者之间的交互操作。例如读取XML中数据的操作就放在Javascript模块中。
首先来看用来操作HTML和XML的接口:
HTML DOM和XML DOM是相似的两种接口。它们分别将HTML文件和XML文件解析成为树状结构,文件中的标签全部作为节点。然后利用DOM中提供的各种函数来获取并操作节点。
获得HTML文件的接口比较简单,其实这是浏览器自动生成的。
当浏览器打开一个窗口时,会自动为HTML文档创建一个名为window的Window对象(Window对象是JS层次中的顶层对象)。
当在该窗口载入某个网页(即某个HTML文档时),浏览器会将该文档解析成为一个Document对象,并将其赋给window的document属性。
之后就可以通过利用document来对当前的HTML文档进行操作了。
最常用的操作方法就是给HTML文档中的每个标签都添加一个id,然后利用getElementByID()方法来获取该标签,然后使用innerHTML属性来获取开始和结束标签之间的内容(该属性的值是一个字符串)。
获得XML文件的接口稍微复杂些,需要用户使用JS语句来手动生成。
详见上上篇博文“XML文档解析”,这里就不重复了。简单点说,核心就是利用JS中的XMLHttpRequest对象。
操作XML文档的常用方法是利用XML DOM中的方法,比如getElementsByTagName_r()。
注:上述这些操作均在Javascript代码中实现。即HTML文档中的<script>标签内