📅  最后修改于: 2020-11-10 05:06:04             🧑  作者: Mango
在本章中,我们将研究XML加载和解析。
为了描述API提供的接口,W3C使用一种称为接口定义语言(IDL)的抽象语言。使用IDL的优点是,开发人员可以学习如何将DOM与他或她喜欢的语言一起使用,并且可以轻松切换到其他语言。
缺点是,由于IDL是抽象的,因此Web开发人员不能直接使用IDL。由于编程语言之间的差异,它们需要在抽象接口与其具体语言之间进行映射或绑定。 DOM已映射到诸如Javascript,JScript,Java,C,C++,PLSQL, Python和Perl的编程语言。
在以下各节和各章中,我们将使用Javascript作为编程语言来加载XML文件。
解析器是一种软件应用程序,旨在分析文档(在我们的示例中为XML文档)并对信息进行特定处理。下表列出了一些基于DOM的解析器-
S.No | Parser & Description |
---|---|
1 |
JAXP Sun Microsystem’s Java API for XML Parsing (JAXP) |
2 |
XML4J IBM’s XML Parser for Java (XML4J) |
3 |
msxml Microsoft’s XML parser (msxml) version 2.0 is built-into Internet Explorer 5.5 |
4 |
4DOM 4DOM is a parser for the Python programming language |
5 |
XML::DOM XML::DOM is a Perl module to manipulate XML documents using Perl |
6 |
Xerces Apache’s Xerces Java Parser |
在诸如DOM之类的基于树的API中,解析器遍历XML文件并创建相应的DOM对象。然后,您可以来回遍历DOM结构。
加载XML文档时,XML内容可以有两种形式-
以下示例演示了当XML内容作为XML文件接收时如何使用Ajax和Javascript加载XML( node.xml )数据。在这里,Ajax函数获取xml文件的内容并将其存储在XML DOM中。创建DOM对象后,便会对其进行解析。
FirstName:
LastName:
ContactNo:
Email:
Tanmay
Patil
1234567890
tanmaypatil@xyz.com
Taniya
Mishra
1234667898
taniyamishra@xyz.com
Tanisha
Sharma
1234562350
tanishasharma@xyz.com
该代码的大多数细节都在脚本代码中。
Internet Explorer使用ActiveXObject(“ Microsoft.XMLHTTP”)创建XMLHttpRequest对象的实例,其他浏览器使用XMLHttpRequest()方法。
responseXML直接在XML DOM中转换XML内容。
将XML内容转换为JavaScript XML DOM后,您可以使用JS DOM方法和属性访问任何XML元素。我们使用了DOM属性,例如childNodes , nodeValue和DOM方法,例如getElementsById(ID),getElementsByTagName(tags_name)。
将此文件另存为loadingexample.html,然后在浏览器中将其打开。您将收到以下输出-
以下示例演示了当XML内容作为XML文件接收时如何使用Ajax和Javascript加载XML数据。在这里,Ajax函数获取xml文件的内容并将其存储在XML DOM中。创建DOM对象后,便会对其进行解析。
该代码的大多数细节都在脚本代码中。
Internet Explorer使用ActiveXObject(“ Microsoft.XMLDOM”)将XML数据加载到DOM对象中,其他浏览器使用DOMParser()函数和parseFromString(text,’text / xml’)方法。
可变文本应包含具有XML内容的字符串。
一旦将XML内容转换为JavaScript XML DOM,就可以使用JS DOM方法和属性访问任何XML元素。我们使用了DOM属性,例如childNodes , nodeValue 。
将此文件另存为loadingexample.html,然后在浏览器中将其打开。您将看到以下输出-
现在我们已经了解了XML内容如何转换为JavaScript XML DOM,现在您可以使用XML DOM方法访问任何XML元素。