📜  XML DOM-创建节点

📅  最后修改于: 2020-11-10 05:08:53             🧑  作者: Mango


在本章中,我们将讨论如何使用文档对象的几种方法创建新节点。这些方法提供了创建新元素节点,文本节点,注释节点,CDATA节节点和属性节点的范围。如果新创建的节点已经存在于element对象中,则将其替换为新的节点。以下各节将通过示例进行说明。

创建新的Element节点

方法createElement()创建一个新的元素节点。如果元素对象中存在新创建的元素节点,则将其替换为新的元素节点。

句法

使用createElement()方法的语法如下-

var_name = xmldoc.createElement("tagname");

哪里,

  • var_name-是用户定义的变量名称,其中包含新元素的名称。

  • (“ tagname”) -是要创建的新元素节点的名称。

以下示例(createnewelement_example.htm)将XML文档( node.xml )解析为XML DOM对象,并在XML文档中创建一个新元素node PhoneNo


   
   
      
   

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

  • x.appendChild(new_element); x保存新元素节点附加到的指定子节点的名称。

执行

在服务器路径上将此文件另存为createnewelement_example.htm (此文件和node.xml应在服务器中的同一路径上)。在输出中,我们获得的属性值为PhoneNo

创建新的文本节点

方法createTextNode()创建一个新的文本节点。

句法

使用createTextNode()的语法如下-

var_name = xmldoc.createTextNode("tagname");

哪里,

  • var_name-它是用户定义的变量名称,其中包含新文本节点的名称。

  • (“标记名”) -括号内是要创建的新文本节点的名称。

下面的例子(createtextnode_example.htm)解析XML文档( node.xml )成XML DOM对象并创建XML文档中的新的文本节点林新的文本节点


   
   
      
    

上面的代码的详细信息如下-

  • create_e = xmlDoc.createElement(“ PhoneNo”);创建一个新元素< PhoneNo >。

  • create_t = xmlDoc.createTextNode(“ Im new text node”);创建一个新的文本节点“ Im new text node”

  • x.appendChild(create_e);文本节点“ Im new text node”是附加到元素< PhoneNo >的。

  • document.write(x.getElementsByTagName(“ PhoneNo”)[0] .childNodes [0] .nodeValue);将新的文本节点值写入元素

执行

在服务器路径上将此文件另存为createtextnode_example.htm (此文件和node.xml应在服务器中的同一路径上)。在输出中,我们获得属性值,即PhoneNO:Im new text node

创建新的Comment节点

方法createComment()创建一个新的注释节点。程序中包含注释节点,以方便理解代码功能。

句法

使用createComment()的语法如下-

var_name = xmldoc.createComment("tagname");

哪里,

  • var_name-是用户定义的变量名称,其中包含新注释节点的名称。

  • (“标记名”) -是要创建的新注释节点的名称。

以下示例(createcommentnode_example.htm)将XML文档( node.xml )解析为XML DOM对象,并在XML文档中创建一个新的注释节点“公司是父节点”


   
   
      
   

在上面的示例中-

  • create_comment = xmlDoc.createComment(“公司是父节点”)创建指定的注释行

  • x.appendChild(create_comment)在此行中, “ x”保留添加了注释行的元素的名称。

执行

保存该文件作为服务器路径上createcommentnode_example.htm(该文件和node.xml应该在你的服务器在同一路径上)。在输出中,由于Company是父节点,因此获得属性值。

创建新的CDATA节节点

方法createCDATASection()创建一个新的CDATA节节点。如果新创建的CDATA节节点存在于element对象中,则将其替换为新的CDATA节。

句法

使用createCDATASection()的语法如下-

var_name = xmldoc.createCDATASection("tagname");

哪里,

  • var_name-是用户定义的变量名称,其中包含新的CDATA节节点的名称。

  • (“标记名”) -是要创建的新CDATA节节点的名称。

下面的例子(createcdatanode_example.htm)解析XML文档( node.xml )成XML DOM对象,并创建一个新CDATA部节点,在XML文档中的“创建CDATA实施例”。


   
   
      
   

在上面的示例中-

  • create_CDATA = xmlDoc.createCDATASection(“创建CDATA示例”)创建一个新的CDATA节节点, “创建CDATA示例”

  • x.appendChild(create_CDATA)在这里, x保存指定元素索引为0的CDATA节点值附加到该元素。

执行

在服务器路径上将此文件另存为createcdatanode_example.htm (此文件和node.xml应该在服务器中的同一路径上)。在输出中,我们获得属性值作为Create CDATA Example

创建新的属性节点

要创建一个新的属性节点,请使用方法setAttributeNode() 。如果新创建的属性节点存在于元素对象中,则将其替换为新的属性节点。

句法

使用createElement()方法的语法如下-

var_name = xmldoc.createAttribute("tagname");

哪里,

  • var_name-是用户定义的变量名称,其中包含新属性节点的名称。

  • (“标记名”) -是要创建的新属性节点的名称。

下面的例子(createattributenode_example.htm)解析XML文档( node.xml )成XML DOM对象并创建XML文档中新的属性节点部分


   
   
      
   

在上面的示例中-

  • create_a = xmlDoc.createAttribute(“ Category”)创建名称为

    的属性。

  • create_a.nodeValue =“ Management”为属性

    创建值“ A”

  • x [0] .setAttributeNode(create_a)将此属性值设置为索引为0的节点元素