English 中文(简体)
XML DOM - Quick Guide
  • 时间:2024-11-05

XML DOM - Quick Guide


Previous Page Next Page  

XML DOM - Overview

/b>ocument ObjectModel (DOM) is a W3C standard. 它规定了查阅诸如超文本和XML等文件的标准。

DOM的定义,由。 W3C:

The Document Object Model (DOM) is an apppcation programming interface (API) for HTML and XML documents. It defines the logical structure of documents and the way a document is accessed and manipulated.

人力部界定了接触所有XML要素的物体、特性和方法(接口)。 它分为3个不同部分/层次:

    - 任何结构化文件的标准模式

    XML DOM - XML文件的标准模式

    - 超文本文件标准模式

XML DOM是XML的标准目标模型。 XML文件具有称为nodes的信息单位的等级; OM是描述这些节点及其之间关系的标准方案拟订接口。

由于XML DOM公司还提供了一份允许开发商在树上的任何时间添加、编辑、移动或删除 no子以便形成申请的意向书。

以下是OM结构的图表。 图表显示,各行各业通过每个节点进行渗透,将XML文件作为DOM结构进行评估。

XML DOM Diagram

Advantages of XML DOM

The following are thevant of XML DOM.

    XML DOM是独立的语言和平台。

    XML DOM is traversable - Information in XML DOM is organized in a行各业,使开发商能够围绕研究具体信息的等级进行联系。

    XML DOM is modifiable - 具有活力,为开发商提供了一个在树上任何点添加、编辑、移动或删除 no子的空间。

Disadvantages of XML DOM

    它消耗了更多的记忆(如果XML结构庞大的话),因为方案一经起草,就一直记忆犹新,直到明确删除。

    由于广泛使用记忆,其业务速度比SAX慢。

XML DOM - Model

既然我们知道多民族行动意味着什么,那么,我们就会看到多民族运动的结构是什么。 DOM文件是nodes 。 或部分信息按等级排列。 某些类型的nodes 也许有child不同种类的节点,而其他节点则在文件结构中没有任何内容。 下表列出了他们作为儿童可能享有的节点类型:

    - 内容(最多一),处理

    - 内容、处理结构、评论、案文、CDATA节、实体参考

    Attr——文本,实体参考

    ProcessingInstruction

    CDATA Section

    Entity - Element,processInstruction, comment, Text, CDATA Section, entities Reference

Example

考虑以下XML文件node.xml的OM代表性。

<?xml version = "1.0"?>
<Company>
   <Employee category = "technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
   </Employee>
   
   <Employee category = "non-technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
   </Employee>
</Company>

上文XML文件的目标模式如下:

XML DOM Model

从上述流程图来看,我们可以推断——

    物体只能有一个 即: 反对。 这占据了首要位置。 页: 1

    显然,Node可以有多个节点,称为child。 http://www.un.org/Depts/DGACM/index_french.htm 在上述例子中,我们有两个特性:Technical Non-techattribute no子实际上不是 element子的孩子,而是仍然与.有关系。

    这些孩子可以有多个孩子。 在节点内的案文称为text node。

    同一层次的 no子被称为兄弟姐妹。

    人力部确定——

      代表接口和操纵文件的目的。

      物体和界面之间的关系。

XML DOM - Nodes

在本章中,我们将研究XML DOM Nodes。 每个XMLDOM都包含在称为Nodes的等级单位中的信息,而DOM则描述了这些节点及其之间的关系。

Node Types

The following flowchart show all the node categories -

XML DOM Nodes

XML中最常见的节点是:

    。 这也是唯一能够有属性的节点。

    Attribute Node - Each identitye is considered an attribute node。 它包含有关要素节点的信息,但实际上并不被视为要素中的儿童。

    文件案文被视为text node。 它可以包括更多的信息或仅仅是白人空间。

某些不太常见的节点是:

    CData Node 这一节点包含不应由教区分析的信息。 相反,它应当作为简单案文通过。

    Comment Node 这一节点包括有关数据的信息,通常被申请所忽略。

XML DOM - Node Tree

在这一章中,我们将研究XML DOMNode 树木。 在一项XML文件中,信息按等级结构保存;这一等级结构称为Node/i>。 这种等级制度允许开发商在树木周围寻找具体信息,从而允许 no子进入。 然后可以更新这些节点的内容。

no树的结构从根元素开始,向儿童部分扩散到最低水平。

Example

下面的图表显示了一种简单的XML文件。

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
   </Employee>
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
   </Employee>
</Company>

在上述例子中可以看到,他们的领地代表(其国土部)如下所示:

XML Nodes Tree

    树木顶端称为rootroot 斜线;Company> 后者含有两条 &子;Employee> 这些节点称为儿童节点。

    The child node <Employee> of fundamental node <Company> inturd composed of its own child node(<FirstName> <LastName> <Contact No>).

    两个儿童节点:Employee> 赋予技术和非技术价值,称为attribute nodes

    每个节日内的案文称为text node

XML DOM - Methods

OM作为AAP包含不同类型的信息,可在XML文件中找到,例如内容和案文。 这些接口包括与这些物体合作所需的方法和特性。 财产界定了de的特性,而方法则允许操纵 no子。

下表列出了OMD的班级和接口——

S.No. Interface & Description
1

它提供了一些独立于文件标本模式任何具体事例的操作方法。

2

它是“轻重”或“轻度”文件标的,它(作为文件顶级)将XML/超文本树植入一份完整的文件。

3

它代表了XML文件的最高层节点,它提供了查阅文件所有节点的机会,包括根本内容。

4

它是XML的标志。

5

它是一份仅读的Node物体清单。

6

它是可以名字查阅的节点。

7

该网站载有在OMM获取特性数据的一系列属性和方法。

8

Attribute

它是一种属性。

9

这是要素节点。 摘自Node。

10

它是案文节点。 特性Data的衍生物。

11

它代表了评论节点。 特性Data的衍生物。

12

ProcessingInstruction

它是“处理指示”。 它是在XML中用来在文件案文中保存与程序有关的信息的一种方法。

13

CDATA Section

它代表了美洲自由贸易区科。 案文摘录。

14

它是一个实体。 摘自Node。

15

这在树中是一个实体。 摘自Node。

We will be discussing methods and properties of each of the above Interfaces in their respective chapters.

XML DOM - Loading

在本章中,我们将研究XML /odingParsing

为了描述APIC提供的接口,W3C使用一个称为“Interface Defin Language (IDL)”的抽象语言。 使用IDL的好处是,开发商学习如何使用DOM,使用其偏好的语言,并且可以很容易地改用另一种语言。

缺点是,由于这是抽象的,因此网络开发商不能直接使用IDL。 由于方案拟定语文之间的差异,它们需要在抽象接口与具体语文之间绘制地图,或使其具有约束力。 DOM被绘制成方案编制语言,如Javascript、Jend、Java、C、C++、PLSQL、Zahur和Perl。

In the following sections and chapters, we will be using Javascript as our programming language to load XML file.

Parser

A parser是软件应用,旨在分析文件,如XML文件,并与信息具体相关。 下表列出了一些基于DOM的教区:

S.No Parser & Description
1

Sun Microsystem's Java AP for XML Parsing (JAXP)

2

XML4J

IBM(XML4J)

3

msxml

微软的XML教区(msxml)版本2.0为因特网探测器。

4

4 DOM是S 方案拟订语言的一个教区

5

XML:DOM

XML:DOM是使用Perl操纵XML文件的一个Perl模块

6

25. Papa's Xerces Java Parser

在像DOM这样的植树的APIC中, par子 trav子是XML文件,制造相应的DOM物体。 然后,你可以回击OM结构。

Loading and Parsing XML

在装上XML文件时,XML的内容可以有两种形式:

    Directly as XML file

    As XML string

Content as XML file

下面举例说明,在XML内容作为XML文件收到时,如何使用Ajax和Javascript( <!DOCTYPE html> <html> <body> <span> <b>FirstName:</b> <span id = "FirstName"></span><br> <b>LastName:</b> <span id = "LastName"></span><br> <b>ContactNo:</b> <span id = "ContactNo"></span><br> <b>Email:</b> <span id = "Email"></span> </span> <script> //if browser supports XMLHttpRequest if (window.XMLHttpRequest) { // Create an instance of XMLHttpRequest object. code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } // sets and sends the request for calpng "node.xml" xmlhttp.open("GET","/dom/node.xml",false); xmlhttp.send(); // sets and returns the content as XML DOM xmlDoc = xmlhttp.responseXML; //parsing the DOM object document.getElementById("FirstName").innerHTML = xmlDoc.getElementsByTagName("FirstName")[0].childNodes[0].nodeValue; document.getElementById("LastName").innerHTML = xmlDoc.getElementsByTagName("LastName")[0].childNodes[0].nodeValue; document.getElementById("ContactNo").innerHTML = xmlDoc.getElementsByTagName("ContactNo")[0].childNodes[0].nodeValue; document.getElementById("Email").innerHTML = xmlDoc.getElementsByTagName("Email")[0].childNodes[0].nodeValue; </script> </body> </html>

node.xml

<Company> 
   <Employee category = "Technical" id = "firstelement"> 
      <FirstName>Tanmay</FirstName> 
      <LastName>Patil</LastName> 
      <ContactNo>1234567890</ContactNo> 
      <Email>tanmaypatil@xyz.com</Email> 
   </Employee>  
   
   <Employee category = "Non-Technical"> 
      <FirstName>Taniya</FirstName> 
      <LastName>Mishra</LastName> 
      <ContactNo>1234667898</ContactNo> 
      <Email>taniyamishra@xyz.com</Email> 
   </Employee>  
   
   <Employee category = "Management"> 
      <FirstName>Tanisha</FirstName> 
      <LastName>Sharma</LastName> 
      <ContactNo>1234562350</ContactNo> 
      <Email>tanishasharma@xyz.com</Email> 
   </Employee> 
</Company> 

守则的大部分细节载于文字法。

    互联网探索者利用ActiveXObject("Microsoft.XMLHTTP”创建XMLHttpRequest,其他浏览器使用XMLHttpRequest()。

    responseXML 在XML DOM中直接改变XML的内容。

    一旦将XML的内容转化为Javagust XML DOM,你就可以通过使用JSDOM方法和财产获取任何XML要素。 我们利用了诸如NodesnodeValue和诸如获得ElementsById(ID)、获得ElementsByTagName(tags_name)等多功能。

Execution

Save this file asloadingexample.html and open it in their browser. 您将获得以下产出:

Loading Example

Content as XML string

下面的例子表明,如果将XML的内容作为XML文件接收,如何用Ajax和Javascript装载XML数据。 这里,Ajax功能在XML DOM中获取Xml文档的内容并储存。 一旦制造了DOM物体,就进行平价。

<!DOCTYPE html>
<html>
   <head>
      <script>
         
         // loads the xml string in a dom object
         function loadXMLString(t) { // for non IE browsers
            if (window.DOMParser) {
               // create an instance for xml dom object parser = new DOMParser();
               xmlDoc = parser.parseFromString(t,"text/xml");
            }
            // code for IE
            else { // create an instance for xml dom object
               xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
               xmlDoc.async = false;
               xmlDoc.loadXML(t);
            }
            return xmlDoc;
         }
      </script>
   </head>
   <body>
      <script>
         
         // a variable with the string
            var text = "<Employee>";
            text = text+"<FirstName>Tanmay</FirstName>";
            text = text+"<LastName>Patil</LastName>";
            text = text+"<ContactNo>1234567890</ContactNo>";
            text = text+"<Email>tanmaypatil@xyz.com</Email>";
            text = text+"</Employee>";

         // calls the loadXMLString() with "text" function and store the xml dom in a variable
            var xmlDoc = loadXMLString(text);
	
         //parsing the DOM object
            y = xmlDoc.documentElement.childNodes;
            for (i = 0;i<y.length;i++) {
               document.write(y[i].childNodes[0].nodeValue);
               document.write("<br>");
            }
      </script>
   </body>
</html>

守则的大部分细节载于文字法。

    互联网探索者使用ActiveXObject(“Microsoft.XMLDOM”)将XML数据输入OM物体,其他浏览器则使用DOMParser(功能和parseFromString(text, text/xml )方法。

    变量text应包含有XML内容的说明。

    一旦将XML的内容转化为Javagust XML DOM,你就可以通过使用JS DOM方法和财产获取任何XML要素。 我们利用了DOM特性,例如Nodes,nodeValue

Execution

Save this file asloadingexample.html and open it in their browser. 你将看到以下产出:

Loading Example

既然我们看到XML的内容如何转化为Javagust XML DOM,那么你现在可以通过使用XML DOM方法获取任何XML要素。

XML DOM - Traversing

在这一章中,我们将讨论XML DOM Traversing。 我们在前一章上进行了研究。 如何装上XML文件,并按此制涂上DOM物体。 这一平线的DOM物体可以穿透。 疏.是一种过程,通过在 no树中逐步跨越每一个要素,系统地进行 lo。

Example

以下例子(traverse_example.htm)显示了OM的渗透。 在这里,我们通过每个孩子的 no子;Employee> 元素。

<!DOCTYPE html>
<html>
   <style>
      table,th,td {
         border:1px sopd black;
         border-collapse:collapse
      }
   </style>
   <body>
      <span id = "ajax_xml"></span>
      <script>
         //if browser supports XMLHttpRequest
         if (window.XMLHttpRequest) {// Create an instance of XMLHttpRequest object. 
            code for IE7+, Firefox, Chrome, Opera, Safari
            var xmlhttp = new XMLHttpRequest();
         } else {// code for IE6, IE5
            var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         // sets and sends the request for calpng "node.xml"
            xmlhttp.open("GET","/dom/node.xml",false);
            xmlhttp.send();

         // sets and returns the content as XML DOM
            var xml_dom = xmlhttp.responseXML;
	
         // this variable stores the code of the html table
            var html_tab =  <table id = "id_tabel" apgn = "center">
            <tr>
               <th>Employee Category</th>
               <th>FirstName</th>
               <th>LastName</th>
               <th>ContactNo</th>
               <th>Email</th>
            </tr> ;
            var arr_employees = xml_dom.getElementsByTagName("Employee");
         // traverses the "arr_employees" array
            for(var i = 0; i<arr_employees.length; i++) {
               var employee_cat = arr_employees[i].getAttribute( category );
   
               // gets the value of  category  element of current "Element" tag

               // gets the value of first child-node of  FirstName  
               // element of current "Employee" tag
                  var employee_firstName =
                     arr_employees[i].getElementsByTagName( FirstName )[0].childNodes[0].nodeValue;

               // gets the value of first child-node of  LastName  
               // element of current "Employee" tag
                  var employee_lastName =
                     arr_employees[i].getElementsByTagName( LastName )[0].childNodes[0].nodeValue;

               // gets the value of first child-node of  ContactNo  
               // element of current "Employee" tag
                  var employee_contactno = 
                     arr_employees[i].getElementsByTagName( ContactNo )[0].childNodes[0].nodeValue;

               // gets the value of first child-node of  Email  
               // element of current "Employee" tag
                  var employee_email = 
                     arr_employees[i].getElementsByTagName( Email )[0].childNodes[0].nodeValue;

               // adds the values in the html table
               html_tab +=  <tr>
                  <td> + employee_cat+  </td>
                  <td> + employee_firstName+  </td>
                  <td> + employee_lastName+  </td>
                  <td> + employee_contactno+  </td>
                  <td> + employee_email+  </td>
               </tr> ;
            }
         html_tab +=  </table> ; 
         // adds the html table in a html tag, with id = "ajax_xml"
         document.getElementById( ajax_xml ).innerHTML = html_tab; 
      </script>
   </body>
</html>

    该代码载node.xml

    XML的内容被转化成 Java文ML。

    使用该方法的多种要素(主轴)获得。

    其次,我们穿透这一阵列,在一张桌上显示儿童 no的价值。

Execution

除此文件外,服务器路上traverse_example.html(该文档和Node.xml在服务器上应走同样的道路)。 您将获得以下产出:

XML DOM traversing

XML DOM - Navigation

直到现在,我们才研究了OM结构,如何装载和穿过XML DOM物体,并通过OM系统物体反向。 这里,我们将看看我们如何能够在电离层物体的分点之间航行。 XML DOM由帮助我们通过 no子航行的节点的各种特性组成,例如:

    parentNode

    childNodes

    firstChild

    lastChild

    nextSibpng

    previousSibpng

下面是显示其与其他节点之间关系的 no树图。

XML DOM Navigation

DOM - Parent Node

该财产将母子的 no子定为 object子。

Example

The following example (navigate_example.htm) parses an XML document (node.xml) into an XML DOM Object. 然后,DOM的物体通过孩子的 no子与母子接触——

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         var y = xmlDoc.getElementsByTagName("Employee")[0];
         document.write(y.parentNode.nodeName);
      </script>
   </body>
</html>

如你在上述例子中可以看到的,孩子们的 no子(Employee,在母子的 no子上。

Execution

Save this file as navigate_example.html on the services path (this file and node.xml 应当在服务器上走同样的道路。 在产出中,我们获得了Employee,即Company

First Child

该财产为Node,是NodeList的第一个子女名称。

Example

The following example (first_node_example.htm) parses an XML document (,node.xml) into an XML DOM Object, 然后是同在OM物体中的第一个儿童节点做对。

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         function get_firstChild(p) {
            a = p.firstChild;

            while (a.nodeType != 1) {
               a = a.nextSibpng;
            }
            return a;
         }
         var firstchild = get_firstChild(xmlDoc.getElementsByTagName("Employee")[0]);
         document.write(firstchild.nodeName);
      </script>
   </body>
</html>

    功能get_firstChild(p)被用于避免 empty的节点。 它有助于将第一个儿童部分从 no名单中删除。

    x=_firstChild (xmlDoc.getElementsByTagName ("Employee”)[0] fetches the first child node for the tag name Employee

Execution

Save this file as first_node_example.htm on the services path (this file and node.xml 应当在服务器上走同样的道路。 在产出中,我们获得了第1个儿童节点:Employee,即FirstName

Last Child

该财产为Node,是NodeList的最后一个子女名称。

Example

The following example (last_node_example.htm) parses an XML document (,node.xml) into an XML DOM Object, 然后是接触到在xml DOM物体上存在的最后一名儿童节点。

<!DOCTYPE html>
  <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         function get_lastChild(p) {
            a = p.lastChild;

            while (a.nodeType != 1){
               a = a.previousSibpng;
            }
            return a;
         }
         var lastchild = get_lastChild(xmlDoc.getElementsByTagName("Employee")[0]);
         document.write(lastchild.nodeName);
      </script>
   </body>
</html>

Execution

Save this file as last_node_example.htm on the server path (this file and node.xml should be on same path in You server). 在产出中,我们获得了Employee,, i.e, Email

Next Sibpng

该财产为Node,是下一个孩子,即NodeList的下一个特定儿童元素的兄弟姐妹。

Example

以下例子(nextSibpng_example.htm)将XML文件(.node.xml)归入XML DOM物体,在Xml文件所列下一个航标上方。

<!DOCTYPE html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         }
         else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         function get_nextSibpng(p) {
            a = p.nextSibpng;

            while (a.nodeType != 1) {
               a = a.nextSibpng;
            }
            return a;
         }
         var nextsibpng = get_nextSibpng(xmlDoc.getElementsByTagName("FirstName")[0]);
         document.write(nextsibpng.nodeName);
      </script>
   </body>
</html>

Execution

将这一档案作为服务器线路上的nextSibpng_example.htm(该文档和Node.xml在服务器上应当走同样的道路)。 在产出中,我们获得下一个百分点:FirstName,,即LastName

Previous Sibpng

该财产为Node,是前一名儿童,即以前在NodeList的指定儿童单位的兄弟姐妹。

Example

The following example (previoussibpng_example.htm) parses an XML document (,node.xml) into an XML DOM Object, when navigates the pre node of the final child node present in the xml document.

<!DOCTYPE html>
   <body>
      <script>
         if (window.XMLHttpRequest)
         {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         function get_previousSibpng(p) {
            a = p.previousSibpng;

            while (a.nodeType != 1) {
               a = a.previousSibpng;
            }
            return a;
         }

         prevsibpng = get_previousSibpng(xmlDoc.getElementsByTagName("Email")[0]);
         document.write(prevsibpng.nodeName);
      </script>
   </body>
</html>

Execution

Save this file as previoussibpng_example.htm on the services path (this file and node.xml 应当在服务器上走同样的道路。 在产出中,我们获得了先前的Email, i.e,Contact No

XML DOM - Accessing

在本章中,我们将研究如何进入作为《禁止杀伤人员地雷公约》文件信息单位的XML DOM节点。 XML DOM的代号结构允许开发商在树木周围收集具体信息,同时获取信息。

Accessing Nodes

下面是你可以接触节点的三种方式:

    采用getElementsByTagName ()方法

    通过树苗的 lo或 trav树

    通过利用 no子关系挖掘 no树

getElementsByTagName ()

这种方法通过明确姓名,可以查阅通知。 它还允许查阅Node List和Node List Length的资料。

Syntax

甲型六氯环己烷法有以下合成物:

node.getElementByTagName("tagname");

如果有,

    - 是文件节点。

    - 拥有贵方希望获得的价值。

Example

下面是说明使用方法的简单方案。

<!DOCTYPE html>
<html>
   <body>
      <span>
         <b>FirstName:</b> <span id = "FirstName"></span><br>
         <b>LastName:</b> <span id = "LastName"></span><br>
         <b>Category:</b> <span id = "Employee"></span><br>
      </span>
      <script>
         if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
         } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         document.getElementById("FirstName").innerHTML = 
         xmlDoc.getElementsByTagName("FirstName")[0].childNodes[0].nodeValue;
         document.getElementById("LastName").innerHTML = 
         xmlDoc.getElementsByTagName("LastName")[0].childNodes[0].nodeValue;
         document.getElementById("Employee").innerHTML = 
         xmlDoc.getElementsByTagName("Employee")[0].attributes[0].nodeValue;
      </script>
   </body>
</html>

    In the above example, we are accessing the information of the nodes FirstName, LastName and Employee.

    xmlDoc.getElementsByTagName (“FirstName”) [0].childNodes[0]. 价值: 这条线使用“获得”方法获取儿童节点的价值。

    xmlDoc.getElementsByTagName(“Employee”)[0].attributes [0].node 价值: 这条线可使用以下方法的属性价值:Employee 获取ElementByTagName()方法。

Traversing Through Nodes

本章涉及:。 DOM Traversing with example.

Navigating Through Nodes

本章涉及:。 DOM Navigation,有实例。

XML DOM - Get Node

在本章中,我们将研究如何获得XMLDOM物体的node值。 XML文件拥有称为节点的信息单位的等级。 诺德物体有财产nodeValue,该财产符合元素的价值。

在以下各节中,我们将讨论——

    要素的去掉价值

    2. 结 义

node.xml 以下所有例子都使用:

<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>taniyamishra@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>tanishasharma@xyz.com</Email>
   </Employee>
</Company>

Get Node Value

这种方法在文件上用特定标签填写的 Elements

Example

The following example (getnode_example.htm) parses an XML document (,node.xml) into an XML DOM Object and Extras the node Value of the child node First (0)——

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         x = xmlDoc.getElementsByTagName( FirstName )[0]
         y = x.childNodes[0];
         document.write(y.nodeValue);
      </script>
   </body>
</html>

Execution

将这一档案作为服务器线路上的getnode_example.htm(该文档和de.xml在服务器上应当走同样的道路)。 在产出中,我们获得了以下数值:Tanmay

Get Attribute Value

捐资是XML节点的一部分。 噪音元素具有多种独特的特性。 酸盐提供了更多关于XML噪音元素的信息。 更确切地说,它们界定了 no子的特性。 “XML属性”始终是名值的配对。 该特性的这种价值称为attribute node

getAttribute()方法按元件名称检索了属性价值。

Example

The following example (get_attribute_example.htm) parses an XML document (,node.xml) into an XML DOM Object and Extras the Depende Value of the category Employee (index at 2) -

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         x = xmlDoc.getElementsByTagName( Employee )[2];
         document.write(x.getAttribute( category ));
      </script>
   </body>
</html>

Execution

将这一档案作为服务器线路上的get_attribute_example.htm(该文档和Node.xml在服务器上应当走同样的道路)。 在产出中,我们获得的属性价值为Management

XML DOM - Set Node

在本章中,我们将研究如何改变锡马解放组织DOM物体中的节点价值。 名义价值可改变如下:

var value = node.nodeValue;

如果nodeAttribute,则 Value/i>变量将是特性值;nodeText。 定本为案文内容;如果node Element,则为null

下面各节将显示每个节点(标题、案文节点和元件)的定值。

node.xml 以下所有例子都使用:

<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>taniyamishra@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>tanishasharma@xyz.com</Email>
   </Employee>
</Company>

Change Value of Text Node

当我们说诺德要素的改变价值时,我们就意味着要篡改要素的内容(也称作text node)。 下面举例说明如何改变一个要素的案文节点。

Example

以下例子(第_text_node_example.htm)将XML文件(node.xml)细分为XMLDOM物体,并更改元素案文的数值。 在这种情况下, Email of each Employe to support@xyz.com,并印刷这些数值。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
                xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName("Email");
         for(i = 0;i<x.length;i++) {	
	
            x[i].childNodes[0].nodeValue = "support@xyz.com";
            document.write(i+ );
            document.write(x[i].childNodes[0].nodeValue);
            document.write( <br> );
         }
	
      </script>
   </body>
</html>

Execution

Save this file as set_text_node_example.htm on the services path (this file and 0) support@xyz.com 1) support@xyz.com 2) support@xyz.com

Change Value of Attribute Node

以下例子说明了如何改变要素的属性。

Example

以下例子(第_attribute_example.htm)将XML文件(node.xml)细分为XMLDOM物体,并改变元件的特性。 在这种情况下,每一次Employee、admin-0、admin-1、admin-2,并分别印刷了这些数值。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
                xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
                xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName("Employee");
         for(i = 0 ;i<x.length;i++){	
	
            newcategory = x[i].getAttributeNode( category );
            newcategory.nodeValue = "admin-"+i;
            document.write(i+ );
            document.write(x[i].getAttributeNode( category ).nodeValue);
            document.write( <br> );
         }
	
      </script>
   </body>
</html>

Execution

Save this file as set_node_attribute_example.htm on the services path (this file and node.xml 应当在服务器上走同样的道路。 其结果如下:

0) admin-0
1) admin-1
2) admin-2

XML DOM - Create Node

在本章中,我们将讨论如何利用文件标的几种方法建立新的节点。 这些方法为创建新的lement node, text node, comment node, CDATA section node and Depende node提供了空间。 如果该元件标本中已经存在新产生的 no,则代之以新元。 以下各节举例说明了这一点。

Create new Element node

createElement(>)”方法产生了一个新的要素。 如果元件中存在新产生的元件,则由新元件取而代之。

Syntax

使用createElement() 方法如下:

var_name = xmldoc.createElement("tagname");

如果有,

    - 用户界定的可变名称,具有新要素的名称。

    (“标签”)——是拟创建的新元件名称。

Example

以下例子(createnewelement_example.htm)将XML文件(node.xml)归入XMLDOM物体,并在XML文件中设置了一个新内容:PhoneNo/i>。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         new_element = xmlDoc.createElement("PhoneNo");

         x = xmlDoc.getElementsByTagName("FirstName")[0];
         x.appendChild(new_element);

         document.write(x.getElementsByTagName("PhoneNo")[0].nodeName);
      </script>
   </body>
</html>

    new_element = xmlDoc.createElement(“PhoneNo”); • 创建新元件;

    x.appendChild(new_element);x 持有指定儿童分母的名字;FirstName>该新元子附后。

Execution

Save this file as createnewelement_example.htm on the services path (this file and 应当在服务器上走同样的道路。 在产出中,我们获得的属性价值为PhoneNo

Create new Text node

方法createTextNode() 产生新的案文节点。

Syntax

参考文件createTextNode() 如下:

var_name = xmldoc.createTextNode("tagname");

如果有,

    <->var_name——这是用户界定的可变名称,名称为新的文本编号。

    (“标签”) - 括号中是新案文的名号。

Example

以下例子(createtextnode_example.htm)将XML文件(node.xml)细分为XMLDOM物体,并在XML文件中形成新的文本编号

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_e = xmlDoc.createElement("PhoneNo");
         create_t = xmlDoc.createTextNode("Im new text node");
         create_e.appendChild(create_t);

         x = xmlDoc.getElementsByTagName("Employee")[0];
         x.appendChild(create_e);


         document.write(" PhoneNO: ");
         document.write(x.getElementsByTagName("PhoneNo")[0].childNodes[0].nodeValue);
      </script>
    </body>
</html>

上述法典的细节如下:

    create_e = xmlDoc.createElement(“PhoneNo”); 产生新的内容和内容;PhoneNo>

    create_t = xmlDoc.createTextNode(“Im new text node”);创设了一个新案文Node“Im new text node”

    x.appendChild(create_e); The text node, Im new text node" is supplemented to the content, <PhoneNo>

    document.write(x.getElementsByTagName(“PhoneNo”)[0].childNodes[0].nodeValue); 撰写新文本对内容和内容的无价值;

Execution

除此文件外,在服务器路上将这一文件作为createtextnode_example.htm>(该文档和Node.xml在服务器上应走同样的道路)。 在产出中,我们获得归属价值,即Phone诺:Im new text node

Create new Comment node

createComment(>) 方法产生了新的评论节点。 评注节点被列入易于理解守则功能的方案。

Syntax

参考文件createComment() 如下:

var_name = xmldoc.createComment("tagname");

如果有,

    - 由用户界定的可变名称,名称为新的评论节点。

    (“标签”)——是将要创建的新评论节点的名称。

Example

以下例子(createcommentnode_example.htm)将XML文件(node.xml)归入XMLDOM物体,并形成新的评论节点,Company是XML文件中的“

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            }
            else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_comment = xmlDoc.createComment("Company is the parent node");

         x = xmlDoc.getElementsByTagName("Company")[0];

         x.appendChild(create_comment);

         document.write(x.lastChild.nodeValue);
      </script>
   </body>
</html>

在上述例子中:

    create_comment = xmlDoc.createComment(“Company is the parent node”)creates a specified comment pne

    x.appendChild (create_comment) 在这一行中,× 持有该元素和混合物的名称;Company>该评注线附后。

Execution

Save this file as createcommentnode_example.htm on the services path (this file and the node.xml 应当在服务器上走同样的道路。 在产出中,我们获得的属性价值是Company是母子之子

Create New CDATA Section Node

方法createCDATA Section() 创建新的《美洲贸易协定》节点。 如果新设立的《空运公约》条款在内容标语中不存在,则由新内容取代。

Syntax

参考文件createCDATA Section() 如下:

var_name = xmldoc.createCDATASection("tagname");

如果有,

    - 是用户界定的可变名称,名称为新的《美洲自由贸易区》节点。

    (“标签”)——是拟创建的《自由贸易协定》新条款的名称。

Example

以下例子(createcdatanode_example.htm)将XML文件(node.xml)归入XML DOM物体,并在XML文件中设立了一个新的CDATA节节,“Create CDATA Example”

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            }
            else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_CDATA = xmlDoc.createCDATASection("Create CDATA Example");

         x = xmlDoc.getElementsByTagName("Employee")[0];
         x.appendChild(create_CDATA);
         document.write(x.lastChild.nodeValue);
      </script>
   </body>
</html>

在上述例子中:

    create_CDATA = xmlDoc.createCDATA Section(“Create CDATA Example”)创建了一个新的CDATA节节节节节节节点,

    x.appendChild (create_CDATA) here,x > 带有特定元素和带;Employee>indexed at 0 to which the CDATA node Value is supplemented.

Execution

将这一档案作为createcdatanode_example.htm存放在服务器上(该文档和Node.xml应在服务器上走同样的道路)。 在产出中,我们获得了“Create CDATA Example的属性价值。

Create new Attribute node

为了创造新的属性节点,采用了setAttributeNode()。 如果该要素标的中存在新产生的属性缺失,则代之以新的特性。

Syntax

使用createElement() 方法如下:

var_name = xmldoc.createAttribute("tagname");

如果有,

    - 由用户界定的可变名称,名称为新的属性名称。

    (“标签”)——是新名词的名称。

Example

以下例子(createattributenode_example.htm)将XML文件(node.xml)归入XMLDOM物体,并在XML文件中创建了一个新的属性编号

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_a = xmlDoc.createAttribute("section");
         create_a.nodeValue = "A";

         x = xmlDoc.getElementsByTagName("Employee");
         x[0].setAttributeNode(create_a);
         document.write("New Attribute: ");
         document.write(x[0].getAttribute("section"));

      </script>
   </body>
</html>

在上述例子中:

    create_a=xmlDoc.createAttribute(“Category”)在名称和带上建立了归属;section>

    create_a.node 数值=“管理” a. 为属性与设计、科及特设定数值A>;

    x[0].setAttributeNode(create_a),这一属性价值被定在代号元件中;Employee>指数为0。

XML DOM - Add Node

本章将讨论现有要素的要点。 它提供了以下手段:

    在现有儿童节点之前或之后添加新的儿童节点

    在案文中插入数据

    添加属性

采用以下方法,在OMS的一个要素中添加/应用节点:

    appendChild()

    insertBefore()

    insertData()

appendChild()

该方法在现行儿童节日之后增加了新的儿童节日。

Syntax

补充儿童法的协同效应如下:

Node appendChild(Node newChild) throws DOMException

如果有,

    添加了Node

Example

The following example (appendchildnode_example.htm) parses an XML document (node.xml) into an XML DOM Object and appends new child PhoneNo to the content &;FirstName>

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_e = xmlDoc.createElement("PhoneNo");

         x = xmlDoc.getElementsByTagName("FirstName")[0];
         x.appendChild(create_e);

         document.write(x.getElementsByTagName("PhoneNo")[0].nodeName);
      </script>
   </body>
</html>

在上述例子中:

    采用这一方法产生了一个新的要素PhoneNo

    新内容PhoneNo 添加到内容FirstName上,使用相应的方法。

Execution

除此文件外,在服务器路上(该文档和代号应在服务器上走同样的道路)。 在产出中,我们获得的属性价值为PhoneNo

insertBefore()

方法insertBefore(),在指定儿童节日前插入新的儿童节点。

Syntax

添加“(......)”的方法如下:

Node insertBefore(Node newChild, Node refChild) throws DOMException

如果有,

    refChild 是否必须插入新点之前的标志。

    这种方法将插入Node

Example

The following example (insertnode before_example.htm) parses an XML document (node.xml) into an XML DOM Object and includes new child Email before the specified content <Email>

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         create_e = xmlDoc.createElement("Email");

         x = xmlDoc.documentElement;
         y = xmlDoc.getElementsByTagName("Email");

         document.write("No of Email elements before inserting was: " + y.length);
         document.write("<br>");
         x.insertBefore(create_e,y[3]);

         y=xmlDoc.getElementsByTagName("Email");
         document.write("No of Email elements after inserting is: " + y.length);
      </script>
   </body>
</html>

在上述例子中:

    采用这一方法产生了一个新的要素: Email

    新内容 Email 在要素Email之前添加,使用“Before()”这一方法。

    y.length 说明新要素之前和之后增加的内容总数。

Execution

将这一档案作为服务器线路上的insertnode before_example.htm(该文档和Node.xml在服务器上应当走同样的道路)。 我们将获得以下产出:

No of Email elements before inserting was: 3
No of Email elements after inserting is: 4 

insertData()

该方法在规定的16个轨道单位中加插图。

Syntax

插入“Data”(Data)有以下各条:

void insertData(int offset, java.lang.String arg) throws DOMException

如果有,

    - 此处插入的特性被抵消。

    - 是插入数据的关键词。 它包含两个参数,由 com分开的母体内加以抵消和缩小。

Example

以下实例(内容:example.htm)将XML文件(node.xml))归入XMLDOM物体,并在特定位置插入新的数据MiddleName;FirstName>

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
     </script>
  </head>
  <body>
     <script>
        xmlDoc = loadXMLDoc("/dom/node.xml");

        x = xmlDoc.getElementsByTagName("FirstName")[0].childNodes[0];
        document.write(x.nodeValue);
        x.insertData(6,"MiddleName");
        document.write("<br>");
        document.write(x.nodeValue);

     </script>
   </body>
</html>

    x.insertData(6,“MiddleName”);->,x 持有特定儿童名称,即:和;Name> 然后在案文中插入数据“MiddleName”。 从职位开始 6. 结 论

Execution

将这一档案作为addtext_example.htm放在服务器上(该文档和Node.xml应当在服务器上走同样的道路)。 我们的产出如下:

Tanmay
TanmayMiddleName 

XML DOM - Replace Node

在这一章中,我们将研究在XMLDOM物体中替代噪音操作的情况。 我们知道,OMM的所有东西都由一个称为“ no子”的等级信息单位维持,而代号为更新这些特定节点或案文节点提供了另一种途径。

以下两种方法取代节点。

    replaceChild()

    replaceData()

replaceChild()

replaceChild()” 方法用新的代号取代特定的代号。

Syntax

插入“Data”(Data)有以下各条:

Node replaceChild(Node newChild, Node oldChild) throws DOMException

如果有,

    - 是列入儿童名单的新节点。

    oldChild - 在名单上删除。

    这种方法可回收代号。

Example

The following example (replacenode_example.htm) parses an XML document () into an XML DOM Object and取而代之;FirstName> with the new node <Name>

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.documentElement;

         z = xmlDoc.getElementsByTagName("FirstName");
         document.write("<b>Content of FirstName element before replace operation</b><br>");
         for (i=0;i<z.length;i++) {
            document.write(z[i].childNodes[0].nodeValue);
            document.write("<br>");
         }
         //create a Employee element, FirstName element and a text node
         newNode = xmlDoc.createElement("Employee");
         newTitle = xmlDoc.createElement("Name");
         newText = xmlDoc.createTextNode("MS Dhoni");

         //add the text node to the title node,
         newTitle.appendChild(newText);
         //add the title node to the book node
         newNode.appendChild(newTitle);

         y = xmlDoc.getElementsByTagName("Employee")[0]
         //replace the first book node with the new node
         x.replaceChild(newNode,y);

         z = xmlDoc.getElementsByTagName("FirstName");
         document.write("<b>Content of FirstName element after replace operation</b><br>");
         for (i = 0;i<z.length;i++) {
            document.write(z[i].childNodes[0].nodeValue);
            document.write("<br>");
         }
      </script>
   </body>
</html>

Execution

将这一档案作为服务器路上的替代物,(该文档和代号应当放在服务器上。) 我们将获得以下产出:

Content of FirstName element before replace operation
Tanmay
Taniya
Tanisha

Content of FirstName element after replace operation
Taniya
Tanisha

replaceData()

替换数字的方法取代从特定16个轨道单位开始的特性,但用具体指示加以抵消。

Syntax

替代数字如下:

void replaceData(int offset, int count, java.lang.String arg) throws DOMException

不适用

    - 由谁来取代。

    - 替换16个轨道单位的数目。 如果抵销和计数总额超过长度,那么所有16个轨道单位在数据末尾都替换。

    arg——DOMString,必须替换范围。

Example

以下例子(replacedata_example.htm)将XML文件(node.xml)归入XML DOM物体并替换。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName("ContactNo")[0].childNodes[0];
         document.write("<b>ContactNo before replace operation:</b> "+x.nodeValue);
         x.replaceData(1,5,"9999999");
         document.write("<br>");
         document.write("<b>ContactNo after replace operation:</b> "+x.nodeValue);

      </script>
   </body>
</html>

在上述例子中:

    x.replaceData(2,3,”999”;-以下>:x > 随附具体内容和内容的案文;Contact No>其案文由新文本999999999999"取代,从1> > > 至5>>>>。

Execution

将这一档案作为服务器线路上的replacedata_example.htm(该文档和de.xml在服务器上应当走同样的道路)。 我们将获得以下产出:

ContactNo before replace operation: 1234567890

ContactNo after replace operation: 199999997890 

XML DOM - Remove Node

在这一章中,我们将研究XML DOM Remove Node的运行情况。 拆卸的废.从文件中删除了规定的废.。 这项行动可以实施,以删除案文节点、内容节点或属性节点。

下面是用于消除噪音操作的方法:

    删除

    移除

删除

The method 删除 removes the child node indicated by oldChild from the pst of children, and returns it. Removing a child node is equivalent to removing a text node. Hence, removing a child node removes the text node associated with it.

Syntax

The syntax to use 删除 is as follows −

Node removeChild(Node oldChild) throws DOMException

如果有,

    oldChild - 正在拆除。

    这种方法使废墟得以恢复。

Example - Remove Current Node

以下例子(removetantnode_example.htm)将XML文件(node.xml)细分为XMLDOM物体,并删除了规定的 no子和带;Contact No> 摘自母子。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         document.write("<b>Before remove operation, total ContactNo elements: </b>");
         document.write(xmlDoc.getElementsByTagName("ContactNo").length);
         document.write("<br>");

         x = xmlDoc.getElementsByTagName("ContactNo")[0];
         x.parentNode.removeChild(x);

         document.write("<b>After remove operation, total ContactNo elements: </b>");
         document.write(xmlDoc.getElementsByTagName("ContactNo").length);
      </script>
   </body>
</html>

在上述例子中:

    x = xmlDoc.getElementsByTagName(“Contact no”)[0] 获取该元素;ContactNo>指数为0。

    x. 父母Node.removeChild(x); 删除元素和带;Contact No> 指数为0。

Execution

将这一档案作为removetantnode_example.htm在服务器上(该文档和代号应在服务器上走同样的道路)。 我们取得了以下成果:

Before remove operation, total ContactNo elements: 3
After remove operation, total ContactNo elements: 2 

Example - Remove Text Node

The following example (removetextNode_example.htm) parses an XML document (node.xml) into an XML DOM Object andmovs the specified child node <FirstName>

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
                xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName("FirstName")[0];

         document.write("<b>Text node of child node before removal is:</b> ");
         document.write(x.childNodes.length);
         document.write("<br>");

         y = x.childNodes[0];
         x.removeChild(y);
         document.write("<b>Text node of child node after removal is:</b> ");
         document.write(x.childNodes.length);

      </script>
   </body>
</html>

在上述例子中:

    x = xmlDoc.getElementsByTagName(“FirstName”)[0]; - 获得第一个元素和提炼;FirstName>到x,指数为0。

    y = x.childNodes[0]; - 本行y 孩子们要走。

    x.removeChild(y); - 消除特定儿童疾病。

Execution

将这一档案作为去除:放在服务器上(该文档和Node.xml应当在服务器上走同样的道路)。 我们取得了以下成果:

Text node of child node before removal is: 1
Text node of child node after removal is: 0 

移除

The method 移除 removes an attribute of an element by name.

Syntax

Syntax to use 移除 is as follows −

void removeAttribute(java.lang.String name) throws DOMException

如果有,

    <0>> - 删除的属性名称。

Example

以下例子(removeelementattribute_example.htm)将XML文件(node.xml)归入XMLDOM物体,并删除了具体特性。

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
                xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>

      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName( Employee );

         document.write(x[1].getAttribute( category ));
         document.write("<br>");

         x[1].removeAttribute( category );

         document.write(x[1].getAttribute( category ));

      </script>
   </body>
</html>

在上述例子中:

    document.write (x***.getAttribute ( category ); - Value of Depende 援引指数为1级职位。

    x3.1.removeAttribute(类别 );——消除属性价值。

Execution

将这一档案作为removeelementattribute_example.htm在服务器上(该文档和Node.xml在服务器上应走同样的道路)。 我们取得了以下成果:

Non-Technical
null

XML DOM - Clone Node

在本章中,我们将在XML DOM物体上放弃Clone Node的运行。 衣帽子操作被用来制作特定噪音的复制件。

cloneNode()

这种方法回收了这一节点的重复,即作为节点的通用复印件。 重复点子没有母子(母子网无效),也没有用户数据。

Syntax

The cloneNode( methods has the following syntax -

Node cloneNode(boolean deep)

    如果是真的,可追溯性地将子树置于规定的 no之下;如果是假的,只剩下 no子(及其属性,如果是个要素)。

    这种方法回收了重复点。

Example

The following example (clonenode_example.htm) parses an XML document (node.xml) into an XML DOM Object and makes a deep拷贝 of the first Employee i> i.

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         x = xmlDoc.getElementsByTagName( Employee )[0];
         clone_node = x.cloneNode(true);
         xmlDoc.documentElement.appendChild(clone_node);

         firstname = xmlDoc.getElementsByTagName("FirstName");
         lastname = xmlDoc.getElementsByTagName("LastName");
	 contact = xmlDoc.getElementsByTagName("ContactNo");
	 email = xmlDoc.getElementsByTagName("Email");
         for (i = 0;i < firstname.length;i++) {
            document.write(firstname[i].childNodes[0].nodeValue+   
                +lastname[i].childNodes[0].nodeValue+ ,  
                +contact[i].childNodes[0].nodeValue+ ,   +email[i].childNodes[0].nodeValue);
            document.write("<br>");
         }
      </script>
   </body>
</html>

如你在上述例子中可以看到,我们制定了cloneNode( param to true。 因此,在Employe的元素下,每个儿童部分均被复制或掩饰。

Execution

将这一档案作为服务器线路上的clonenode_example.htm(该文档和de.xml在服务器上应当走同样的道路)。 我们将获得以下产出:

Tanmay Patil, 1234567890, tanmaypatil@xyz.com
Taniya Mishra, 1234667898, taniyamishra@xyz.com
Tanisha Sharma, 1234562350, tanishasharma@xyz.com
Tanmay Patil, 1234567890, tanmaypatil@xyz.com

您将注意到第一个Employee元素被完全掩饰。

DOM - Node Object

<0>Node接口是整个文件目标模型的主要数据类型。 no子用来代表整个文件树中的单一XML元素。

噪音可以是属性噪音、案文节点或任何其他节点。 属性nodeName, nodeValueattributes被列为在不向特定衍生接口投放的情况下获取信息的机制。

Attributes

下表列出了Node物体的属性:

Attribute Type Description
attributes NamedNodeMap This is of type NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise. This has been removed. Refer specs
baseURI DOMString It is used to specify absolute base URI of the node.
childNodes NodeList It is a NodeList that contains all children of this node. If there are no children, this is a NodeList containing no nodes.
firstChild Node It specifies the first child of a node.
lastChild Node It specifies the last child of a node.
localName DOMString It is used to specify the name of the local part of a node. This has been removed. Refer specs.
namespaceURI DOMString It specifies the namespace URI of a node. This has been removed. Refer specs
nextSibpng Node It returns the node immediately following this node. If there is no such node, this returns null.
nodeName DOMString The name of this node, depending on its type.
nodeType unsigned short It is a code representing the type of the underlying object.
nodeValue DOMString It is used to specify the value of a node depending on their types.
ownerDocument Document It specifies the Document object associated with the node.
parentNode Node This property specifies the parent node of a node.
prefix DOMString This property returns the namespace prefix of a node. This has been removed. Refer specs
previousSibpng Node This specifies the node immediately preceding the current node.
textContent DOMString This specifies the textual content of a node.

Node Types

我们列出了以下类别:

    ELEMENT_NODE

    ATTRIBUTE_NODE

    ENTITY_NODE

    ENTITY_REFERENCE_NODE

    DOCUMENT_FRAGMENT_NODE

    TEXT_NODE

    CDATA_SECTION_NODE

    COMMENT_NODE

    PROCESSING_INSTRUCTION_NODE

    DOCUMENT_NODE

    DOCUMENT_TYPE_NODE

    NOTATION_NODE

Methods

下表列出了不同的“目标”方法:

S.No. Method & Description
1 appendChild(Node newChild)

这种方法在具体要素节点的最后一名儿童节点之后添加了一个节点。 它退回了另外的节点。

2 cloneNode(boolean deep)

这种方法被用于制造一种重复的 no子,在衍生物类别中压倒一切。 它回收了重复的 no。

3 compareDocumentPosition(Node other)

采用这一方法,根据文件指令,将目前的节点与特定节点相比较。 页: 1

4

getFeature (DOMString norm, DOMString edition)

<>> DOM 如有特定特征和版本的专用文稿,则不予反对,或予以废止。 删除。 Refer specs

5

getUserData(DOMString key)

>Retrieves the Object associated to a key on this node. 目的首先必须放在这个节点上,用同样的钥匙来命名。 归还与这一节点的指定钥匙相关的DOMUserData,如果无的话,则不予归还。 删除。 Refer specs

6

hasAttributes()

这一节点(如果是一个要素)是否具有任何属性。 返回true,条件是:任何属性均出现在规定的休息日删除。 Refer specs

7 hasChildNodes()

返回这个节点是否有任何孩子。 这种方法的回报true。 如果目前的节点有孩子,则false

8 insertBefore(Node newChild, Node refChild)

这种方法用于在目前这个节日子的孩子面前直接插入一个新的节点。 它返回了正在插入的节点。

9 isDefaultNamespace(DOMString namespaceURI)

这种方法接受一个名称空间,即URI,作为论据,并回报一个Boolean,其价值为true。 如果名称空间是特定噪音或false上的缺省名称空间。 如果不是的话。

10 isEqualNode(Node arg)

这种方法检验两个节点是否平等。 返回true,如果是平等的,fal

11

isSameNode(Node other)>

<>>>。 如果有的话,请注明日期:true删除。 Refer specs

12

Supported(DOMStringites, DOMString edition)

<>>。 这种方法可以回过来,确定的具体的OM模块是否得到目前的代号的支持。 页: 1 如果这一节点支持特定特征,则false 这一点已被删除。 Refer specs

13 lookupNamespaceURI(DOMString prefix)

这种方法使URI获得与名称空间预设相关的名称空间。

14 lookupPrefix(DOMString namespaceURI)

这种方法回收了当前名称空间“URI”定义的最接近的预设装置。 如果发现有相关名称空间,则会事先确定或取消。

15 normapze()

规范化增加了所有案文节点,包括确定一个正常形式的属性节点,其中含有要素、评论、处理指示、CDATA各节和实体参考资料,分别列出案文节点,即,案文节点和空文节点。

16 removeChild(Node oldChild)

这种方法用于将特定儿童节点从目前的节点移走。 这又使废墟返回。

17 replaceChild(Node newChild, Node oldChild)

这种方法被用来用新的 no子取代老幼。 取而代之。

18

<setUserData(DOMString key, DOMUserData data,userDataHandlerhandler)<>p>>>>。 之后,可以通过打电话getUserData,用同样的钥匙检索物体。 此前与这一节点的指定钥匙有关。 删除。 Refer specs

DOM - NodeList Object

NodeList的物体具体指明了命令收集的节点。 NodeList的物品可从零开始通过综合指数获得。

Attributes

下表列出了新列物体的属性:

Attribute Type Description
length unsigned long It gives the number of nodes in the node pst.

Methods

下面是NodeList物体的唯一方法。

S.No. Method & Description
1 item()

收件中indexth>。 如果指数大于或等于名单中的点数,则该数值无效。

DOM - NamedNodeMap Object

<0>NamedNodeMap 物体用来代表按姓名检索的节点。

Attributes

下表列出了NamedNodeMap物体的财产。

Attribute Type Description
length unsigned long It gives the number of nodes in this map. The range of vapd child node indices is 0 to length-1 inclusive.

Methods

下表列出了NamedNodeMap物体的方法。

S.No. Methods & Description
1 getNamedItem ()

保留姓名上注明的节点。

2 getNamedItemNS ()

Retrieves a node specified by local name and namespace URI.

3 item ()

页: 1 如果指数大于或等于本地图的点数,则该数值无效。

4 removeNamedItem ()

删除姓名上指明的 no。

5 removeNamedItemNS ()

摘除当地名称和名称空间URI规定的遗嘱。

6 setNamedItem ()

Adds a node using its nodeNamevide. 如果在地图上已经出现与这一名称的对照,则由新名称取代。

7 setNamedItemNS ()

Adds a node using its namespaceURI and localName。 如果与这个名称空间URI有点联系,而且该地图中已经有当地名称,则由新名称取代。 重开 no本身没有效果。

DOM - DOMImplementation Object

Methods

下表列出了DOM Implementation 反对——的方法

S.No. Method & Description
1 createDocument(namespaceURI, quapfiedName, doctype)

它以文件内容为具体类型的DOM文件标。

2 createDocumentType(quapfiedName, pubpcId, systemId)

它制造了一个空洞的DocumentType node。

3

getFeature (feature, edition)

这种方法回收了一个专门物品,用于特定特征和版本的专门产品。 删除。 Refer specs

4 hasFeature(feature, version)

如果投管处执行具体特点和版本,则采用这种方法进行测试。

DOM - DocumentType Object

www.un.org/Depts/DGACM/index_russian.htm 物体是获取文件数据的关键,在文件中,标识既可具有无效价值,也可具有文件Type目标值。 文件 类型物体是XML文件所述实体的接口。

Attributes

下表列出了DocumentType的属性。 物体

Attribute Type Description
name DOMString It returns the name of the DTD which is written immediately next to the keyword !DOCTYPE.
entities NamedNodeMap It returns a NamedNodeMap object containing the general entities, both external and internal, declared in the DTD.
notations NamedNodeMap It returns a NamedNodeMap containing the notations declared in the DTD.
internalSubset DOMString It returns an internal subset as a string, or null if there is none. This has been removed. Refer specs.
pubpcId DOMString It returns the pubpc identifier of the external subset.
systemId DOMString It returns the system identifier of the external subset. This may be an absolute URI or not.

Methods

DocumentType 继承其母体的方法,No,并执行ChildNo接口。

DOM - ProcessingInstruction Object

ProcessingInstruction提供该具体应用信息,这些信息一般载于XML文件Prolog部分。

处理指令可用于将信息传递给申请。 在标记外,纸面板可以出现在文件上。 可在博客中,包括文件类型定义、文字内容或文件之后出现。

消费物价指数始于特殊标签<。 改为?>。 处理内容的工作在紧接着?>时即告结束。

Attributes

下表列出了Processing Instruction Object——的属性。

Attribute Type Description
data DOMString It is a character that describes the information for the apppcation to process immediately preceding the ?>.
target DOMString This identifies the apppcation to which the instruction or the data is directed.

DOM - Entity Object

实体界面是已知的实体,在XML文件中,有的放行,有的放开。 nodeName属性,从No继承,包括该实体的名称。

实体物体没有母子,其所有后继子只读。

Attributes

下表列出了Entity物体的属性:

Attribute Type Description
inputEncoding DOMString This specifies the encoding used by the external parsed entity. Its value is null if it is an entity from the internal subset or if it is not known.
notationName DOMString For an unparsed entities, it gives the name of the notation and its value is null for the parsed entities.
pubpcId DOMString It gives the name of the pubpc identifier associated with the entity.
systemId DOMString It gives the name of the system identifier associated with the entity.
xmlEncoding DOMString It gives the xml encoding included as a part of the text declaration for the external parsed entity, null otherwise.
xmlVersion DOMString It gives the xml version included as a part of the text declaration for the external parsed entity, null otherwise.

DOM - Entity Reference Object

意向/i>物体是列入XML文件的一般实体参考资料,其中规定了替代案文的范围。 实体参考 目标对预先界定的实体不可行,因为它们被认为由超文本处理或XML处理器扩大。

这一接口没有自己的财产或方法,而是继承Node

DOM - Notation Object

在本章中,我们将研究XML DOM Notation Object。 标注物财产提供了一种范围,可以确认具有公证特性、特定处理指令或非XML数据的内容。 不得对物特性和方法进行更改,因为这也被视为一种术语。

该物体从Node继承方法和特性。 其名称为nodeName。 没有父母。

Attributes

下表列出了Notation物体的属性:

Attribute Type Description
pubpcID DOMString It gives the name of the pubpc identifier associated with the notation.
systemID DOMString It gives the name of the system identifier associated with the notation.

DOM - Element Object

可将XML要素定义为XML的组成部分。 部件可以作为集装箱持有文字、内容、属性、媒体目标或所有这些内容。 每当教区划出一项XML文件,反对知情,教区则通过一个要素节点。 内容节点载有案文,称为案文节点。

元素物继承了诺德物体的特性和方法,作为元素物也被视为诺德。 除文物性质和方法外,还有以下财产和方法。

Properties

下表列出了 Element 反对的属性:

Attribute Type Description
tagName DOMString It gives the name of the tag for the specified element.
schemaTypeInfo TypeInfo It represents the type information associated with this element. This has been removed. Refer specs.

Methods

下表列出了要素目标方法——

Methods Type Description
getAttribute() DOMString Retrieves the value of the attribute if exists for the specified element.
getAttributeNS() DOMString Retrieves an attribute value by local name and namespace URI.
getAttributeNode() Attr Retrieves the name of the attribute node from the current element.
getAttributeNodeNS() Attr Retrieves an Attr node by local name and namespace URI.
getElementsByTagName() NodeList Returns a NodeList of all descendant Elements with a given tag name, in document order.
getElementsByTagNameNS() NodeList Returns a NodeList of all the descendant Elements with a given local name and namespace URI in document order.
hasAttribute() boolean Returns true when an attribute with a given name is specified on this element or has a default value, false otherwise.
hasAttributeNS() boolean Returns true when an attribute with a given local name and namespace URI is specified on this element or has a default value, false otherwise.
移除 No Return Value Removes an attribute by name.
removeAttributeNS No Return Value Removes an attribute by local name and namespace URI.
removeAttributeNode() Attr Specified attribute node is removed from the element.
setAttribute() No Return Value Sets a new attribute value to the existing element.
setAttributeNS() No Return Value Adds a new attribute. If an attribute with the same local name and namespace URI is already present on the element, its prefix is changed to be the prefix part of the quapfiedName, and its value is changed to be the value parameter.
setAttributeNode() Attr Sets a new attribute node to the existing element.
setAttributeNodeNS Attr Adds a new attribute. If an attribute with that local name and that namespace URI is already present in the element, it is replaced by the new one.
setIdAttribute No Return Value If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute. This has been removed. Refer specs.
setIdAttributeNS No Return Value If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute. This has been removed. Refer specs.

DOM - Attribute Object

Attr接口在“Element Object”中是一种属性。 典型的情况是,属性可允许的价值在与文件有关的图表中界定。 Attr物体不被视为文件树的一部分,因为它们实际上不是他们所描述的元素的幼.。 因此,儿童节点,诺尔特/伊>,previousSibpngnextSibpng。 页: 1

Attributes

下表列出了Attribute物体的属性:

Attribute Type Description
name DOMString This gives the name of the attribute.
specified boolean It is a boolean value which returns true if the attribute value exists in the document.
value DOMString Returns the value of the attribute.
ownerElement Element It gives the node to which attribute is associated or null if attribute is not in use.
isId boolean It returns whether the attribute is known to be of type ID (i.e. to contain an identifier for its owner element) or not.

DOM - CDATASection Object

在本章中,我们将研究XML DOM CDATA Section Object。 根据XML文件所载案文,根据所申报的内容加以分类或分类。 如果该文本被宣布为“特性数据”,则由教区划为“XML文件”改为“XMLDOM目标”。 另一方面,如果案文被宣布为无差别的特性数据,则该文本不为XML教区。 这些实体不被视为标志,也不会扩大。

利用《美洲贸易协定》条款的目的是要避免含有本可视为标记的特性的案文。

特性Data.data属性持有《欧洲自由贸易协定》一节所载的案文。 该接口通过Text接口继承CharatcterData

There are no methods and attributes defined for the CDATASection object. It only directly implements the Text interface.

DOM - Comment Object

在本章中,我们将研究Comment Object。 评注作为说明或行文添加,以了解《反洗钱法》的宗旨。 评注可以用来包括相关的链接、信息和术语。 这些可能出现在《反洗钱法》的任何地方。

该评论界面继承了代表评论内容的CharacterData接口。

Syntax

XML的评论有以下各条:

<!-------Your comment----->

评论从“带”开始;!-并用——和”结束; 你可以添加文字说明,作为对特性的评论。 你们不能在对方内部提出一点意见。

There are no methods and attributes defined for the Comment object. It inherits those of its parent, CharacterData, and indirectly those of Node.

DOM - XMLHttpRequest Object

XMLHttpRequest Object在网页的客户与服务器之间建立了一种介质,可被许多文字语言所使用,如Java文、Jans、VB式和其他网络浏览器传输和操纵XML数据。

有了XMLHttpRequest,就可以更新网页的部分,而不必再上整页,在网页上填满后,请服务器接收数据,并将数据发送服务器。

Syntax

XMLHttpRequest物体可登记如下:

xmlhttp = new XMLHttpRequest();

处理所有浏览器,包括IE5和IE6,检查浏览器是否支持XMLHttpRequest,具体如下:

if(window.XMLHttpRequest) // for Firefox, IE7+, Opera, Safari, ... {
   xmlHttp = new XMLHttpRequest();
} else if(window.ActiveXObject) // for Internet Explorer 5 or 6 {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

使用XMLHttpRequest物体装载XML文档的例子可参见

Methods

下表列出了XMLHttpRequest物体——的方法。

S.No. Method & Description
1

<abort(>>><>p>>> 终止目前提出的要求。

2

<getAllResponseHeaders(>>>><>p>>> 如果没有收到任何答复,所有答复的负责人都会被送回,或完全放弃。

3

<getResponseHeader(>>>>>>

> 如果尚未收到答复,或回复中未出现过头盔,则将载有具体负责人案文的插图归还,或告无效。

4

这笔费用用于与Send方法相协调,以便向服务器发送申请。 开放式方法规定了以下参数:

    - 具体列明申请类型,即请购单或员额。

    url——是档案的地点。

    - 说明如何处理请求。 它是 b。 ,

      真的意思是,在等待Http答复的情况下,请求得到同步处理。

      虚假的意思是,在收到Http的答复后,请求得到同步处理。

    。 - 用户名称。

    pswd-为密码。

5

send(string)

>> 该请求被用于与开放式方法保持一致。

6

RequestHeader(>

>>> 标题中载有发出请求的标签/数值。

Attributes

下表列出了XMLHttpRequest物体的属性:

S.No. Attribute & Description
1

这是一项基于事件的财产,在每一个国家变化中都作了规定。

2

这说明了XMLHttpRequest物体的现状。 现有五种现存财产:

    readyState = 0, 即申请尚未启动。

    readyState = 1 - 提出请求。

    readyState = 2-quest is sent.

    readyState = 3——申请正在处理。

    readyState = 4—— 请求已经完成。

3

<responseText>>><>p>> 当服务器的答复是文字文件时,该财产即予使用。

4

<responseXML>>

>> 当服务器的答复是XML文件时,就使用这一财产。

5

Gives the status of the Http request object as a number. For example, "404" or "200".
6

把Http申请的标语作为示意图。 例如,“不成立”或“科索沃”。

Examples

node.xml 内容如下:

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>taniyamishra@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>tanishasharma@xyz.com</Email>
   </Employee>
</Company>

Retrieve specific information of a resource file

下面举例说明了如何利用getResponse Header()和readState等方法重新检索资源档案的具体信息。

<!DOCTYPE html>
<html>
   <head>
      <meta http-equiv = "content-type" content = "text/html; charset = iso-8859-2" />
         <script>
            function loadXMLDoc() {
               var xmlHttp = null;
               if(window.XMLHttpRequest) // for Firefox, IE7+, Opera, Safari, ... {
                  xmlHttp = new XMLHttpRequest();
               }
               else if(window.ActiveXObject) // for Internet Explorer 5 or 6 {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
               }

               return xmlHttp;
            }

            function makerequest(serverPage, myDiv) {
               var request =  loadXMLDoc();
               request.open("GET", serverPage);
               request.send(null);

               request.onreadystatechange = function() {
                  if (request.readyState == 4) {
                     document.getElementById(myDiv).innerHTML = request.getResponseHeader("Content-length");
                  }
               }
            }
      </script>
   </head>
   <body>
      <button type = "button" oncpck="makerequest( /dom/node.xml ,  ID )">Cpck me to get the specific ResponseHeader</button>
      <span id = "ID">Specific header information is returned.</span>
   </body>
</html>

Execution

将这一档案作为elementattribute_removeAttributeNS.htm放在服务器上(该文档和Node_ns.xml在服务器上应走同样的道路)。 我们将获得以下产出:

Before removing the attributeNS: en
After removing the attributeNS: null

Retrieve header infomation of a resource file

下面举例说明如何利用getAllResponseHeaders()这一方法检索资源档案目录。 使用ready State

<!DOCTYPE html>
<html>
   <head>
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
         <script>
            function loadXMLDoc() {
               var xmlHttp = null;

               if(window.XMLHttpRequest) // for Firefox, IE7+, Opera, Safari, ... {
                   xmlHttp = new XMLHttpRequest();
               } else if(window.ActiveXObject) //  for Internet Explorer 5 or 6 {
                   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
               }

                return xmlHttp;
            }

            function makerequest(serverPage, myDiv) {
               var request =  loadXMLDoc();
               request.open("GET", serverPage);
               request.send(null);
               request.onreadystatechange = function() {
                  if (request.readyState == 4) {
                     document.getElementById(myDiv).innerHTML = request.getAllResponseHeaders();
                  }
                }
            }
      </script>
   </head>
   <body>
      <button type = "button" oncpck = "makerequest( /dom/node.xml ,  ID )">
         Cpck me to load the AllResponseHeaders</button>
      <span id = "ID"></span>
   </body>
</html>

Execution

将这一文件作为http://allheader.html在服务器上(该文档和Node.xml应在服务器上走同样的道路)。 我们将获得以下产出(取决于浏览器)——

Date: Sat, 27 Sep 2014 07:48:07 GMT Server: Apache Last-Modified: 
      Wed, 03 Sep 2014 06:35:30 GMT Etag: "464bf9-2af-50223713b8a60" Accept-Ranges: bytes Vary: Accept-Encoding,User-Agent 
      Content-Encoding: gzip Content-Length: 256 Content-Type: text/xml 

DOM - DOMException Object

系指在使用方法或财产时发生的异常事件。

Properties

下表列出DOMException物体的特性

S.No. Property & Description
1

回归一个含有与错误不变有关的缩略语(见下表)。

Error Types

S.No. Type & Description
1

该指数在允许的范围之内。 例如,这可以被平地物体抛弃。 (单位:千美元)

2

no树等级不正确。 (《平等法典》价值:3和遗产不变名称: HIERARCHY_REquestST_ERR

3

该物体载于错误文件中。 (《平等法典》价值:4和遗产不变名称: EPAONG_DOCUMENT_ERR

4

扼杀含有无效性质。 (单位:千美元)

5

物体不得修改。 (《平等法典》价值:7和遗产不变名称:无

6

不能在此找到物体。 (《平等法典》价值:8和遗产不变名称:NOT_FOUND_ERR)

7

这一行动没有得到支持。 (《平等法典》价值:9和遗产不变名称:NOT_SUPPORTED_ERR)

8

该物体处于无效状态。 (《平等法典》价值:11和遗产不变名称:INVALID_STATE_ERR)

9

扼杀不符合预期模式。 (《平等法典》价值:12和遗产不变名称:SYNTAX_ERR)

10

不能以这种方式修改物体。 (《平等法典》价值:13和遗产不变名称:国家统计研究所

11

不允许在XML中使用名称空间。 (《平等法典》价值:14和遗产不变名称:ESPACE_ERR)

12

该物体不支持该操作或论点。 (《平等法典》价值:15和遗产不变名称:INVALID_ACCESS_ERR)

13

物体类型与预期类型不符。 (《平等法典》价值:17和遗产不变名称:TYPE_MISMATCH_ERR) 这一数值被折旧,现在, Java形形状错误的例外情况而不是具有这一价值的多变性。

14

这一行动是不安全的。 (《平等法典》价值:18岁和遗产不变名称:安全——欧洲复兴开发银行)

15

NetworkError

>>A网络错误发生。 (平等法典价值:19和遗产不变名称:NETWORK_ERR)

16

这一行动被挫败。 (《平等法典》价值:20和遗产不变名称:ABORT_ERR)

17

提供的URL与另一个URL不相称。 (《平等法典》价值:21和遗产不变名称:URL_MISMATCH_ERR)

18

配额已经超过。 (《平等法典》价值:22和遗产不变名称:QUOTA_EXCEED_ERR)

19

这一行动已经结束。 (《平等法典》价值:23 和遗产不变名称:技术、技术和革新

20

噪音不正确,或对这一行动有误。 (《平等法典》价值:24和遗产不变名称:INVALID_NODE_TYPE_ERR)

21

物体不能被掩饰。 (《平等法典》价值:25和遗产不变名称:DATA_CLONE_ERR)

22

编码操作,是一种编码或编码缺陷,失败(没有遗产代码价值和固定名称)。

23

投入/产出改为运行失败(没有遗留代码价值和不变名称)。

Example

下面的例子表明,如何使用一个信息不灵的XML文件,造成对OMException。

error.xml 内容如下:

<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?>
<Company id = "companyid">
   <Employee category = "Technical" id = "firstelement" type = "text/html">
      <FirstName>Tanmay</first>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
</Company>

以下是 姓名属性”的使用情况:

<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         try {
            xmlDoc = loadXMLDoc("/dom/error.xml");
            var node  = xmlDoc.getElementsByTagName("to").item(0);
            var refnode = node.nextSibpng;
            var newnode = xmlDoc.createTextNode( That is why you fail. );
            node.insertBefore(newnode, refnode);
         } catch(err) {
            document.write(err.name);
         }
      </script>
   </body>
</html>

Execution

将这一档案作为服务器线路上的domexcption_name.html(这一文档和错误.xml在服务器上应当走同样的道路)。 我们将获得以下产出:

TypeError
Advertisements