📜  XML DOM-加载

📅  最后修改于: 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文件
  • 作为XML字符串

内容为XML文件

以下示例演示了当XML内容作为XML文件接收时如何使用Ajax和Javascript加载XML( node.xml )数据。在这里,Ajax函数获取xml文件的内容并将其存储在XML DOM中。创建DOM对象后,便会对其进行解析。

FirstName:
LastName:
ContactNo:
Email:

node.xml

 
    
      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属性,例如childNodesnodeValue和DOM方法,例如getElementsById(ID),getElementsByTagName(tags_name)。

执行

将此文件另存为loadingexample.html,然后在浏览器中将其打开。您将收到以下输出-

载入范例

内容为XML字符串

以下示例演示了当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属性,例如childNodesnodeValue

执行

将此文件另存为loadingexample.html,然后在浏览器中将其打开。您将看到以下输出-

载入范例

现在我们已经了解了XML内容如何转换为JavaScript XML DOM,现在您可以使用XML DOM方法访问任何XML元素。