下面的实例使用 XML 文件 books.xml。
函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。
复制一个节点,并把它追加到已有的节点
- <!DOCTYPE html>
- <html>
- <head>
- <script src="loadxmldoc.js">
- </script>
- </head>
- <body>
- <script>
- xmlDoc=loadXMLDoc("books.xml");
- x=xmlDoc.getElementsByTagName('book')[0];
- cloneNode=x.cloneNode(true);
- xmlDoc.documentElement.appendChild(cloneNode);
- //Output all titles
- y=xmlDoc.getElementsByTagName("title");
- for (i=0;i<y.length;i++)
- {
- document.write(y[i].childNodes[0].nodeValue);
- document.write("<br>");
- }
- </script>
- </body>
- </html>
本例使用 cloneNode() 来复制一个节点,并把它追加到 XML 文档的根节点。
cloneNode() 方法创建指定节点的副本。
cloneNode() 方法有一个参数(true 或 false)。该参数指示被克隆的节点是否包括原节点的所有属性和子节点。
下面的代码片段复制第一个 <book> 节点,并把它追加到文档的根节点:
xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//Output all titles
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("
");
}
输出:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian
实例解释: