返回首页
当前位置: 主页 > 编程语言 > XML教程 >

XML DOM-设置节点

时间:2020-07-07 11:29来源:电脑教程学习网 www.etwiki.cn 编辑:小山哥

在本章中,我们将研究如何更改XML DOM对象中节点的值。节点值可以如下更改-

var value = node.nodeValue;

如果node是一个属性,value变量将是该属性的值;如果nodeText节点,则为文本内容;如果nodeElement,则它将为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>

更改文本节点的值

当我们说Node元素的更改值时,我们的意思是编辑元素的文本内容(也称为text node)。下面的示例演示如何更改元素的文本节点。

下面的例子(set_text_node_example.htm)解析XML文档(node.xml)成XML DOM对象,改变元素的文本节点的值。在这种情况下,将每个员工的电子邮件发送至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>

执行

将此文件另存为set_text_node_example.htm在服务器路径上(此文件和node.xml应该在服务器上的同一路径上)。您将收到以下输出-

0) support@xyz.com
1) support@xyz.com
2) support@xyz.com

更改属性节点的值

下面的示例演示如何更改元素的属性节点。

下面的例子(set_attribute_example.htm)解析XML文档(node.xml)成XML DOM对象,并且改变一个元素的属性节点的值。在这种情况下,每个雇员类别分别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>

执行

将此文件另存为set_node_attribute_example.htm在服务器路径上(此文件和node.xml应在服务器上的同一路径上)。结果将如下-

0) admin-0
1) admin-1
2) admin-2
 上一页  打印页面

------分隔线----------------------------
标签(Tag):
------分隔线----------------------------
推荐内容
  • XML DOM-创建节点

    在本章中,我们将讨论如何使用文档对象的几种方法创建新节点。 这些方法提供了创建新 ...

  • XML DOM-获取节点

    在本章中,我们将研究如何获取 XML DOM对象 的 节点 值。 XML文档具有称为节点的信息...

  • XML DOM - Accessing

    在本章中,我们将研究如何访问被视为XML文档信息单元的XML DOM节点。 XML DOM的节点结...

  • XML DOM-导航

    到目前为止,我们研究了DOM结构,如何加载和解析XML DOM对象以及如何遍历DOM对象。 在...

  • XML DOM-遍历

    在本章中,我们将讨论XML DOM遍历。 在 上一章 中,我们研究了 如何加载XML文档并解析...

  • XML DOM-载入中

    在本章中,我们将研究XML 加载 和 解析 。 为了描述API提供的接口,W3C使用一种称为接...

猜你感兴趣