向xml文件中添加元素;
未添加前的xml文档;
添加元素创建的新文件
新文件中的xml元素;
DOM获取元素的思路:XML的DOM解析技术详解
DOM技术添加元素的思路;
1,获得节点 2,创建元素createElement .内容createTextNode ,元素属性createAttribute 3实例化xml转化器 4,创建xml转化的工厂 5,获得要添加元素的节点 6,创建输出流,将新文档写出去 7,使用转化器来装换
JAVA实现代码如下;代码已经打包
基本属性;
package Dom解析; /** * 设置对象的基本属性 * @author Administrator * */ public class Student { String name; String sex; String cla; int no; int num; }
转换;
package Dom解析; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; /** * 添加元素到xml文档中去 * doc.createElement添加元素 * doc.createTextNode创建元素的内容 * doc.createAttribute创建元素的属性 * * @author Administrator * */ public class ADDelements { private static List<Student> liststu = new ArrayList<Student>(); private static Student stu; public static void main(String[] args) throws Exception { String path = "C:\\Users\\Administrator\\Desktop\\xml\\student2.xml"; // 实例化一个用来创建工厂对象的DOM解析器 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // 创建解析器对象 DocumentBuilder builder = factory.newDocumentBuilder(); // 创建解析器需要解析的xml文档路径 Document doc = builder.parse(path); /* * 向xml文档中添加元素 */ // NodeList nodelist1 = doc.getElementsByTagName("stu"); // Node node11 = nodelist1.item(2); // Text text1 = doc.createTextNode("男"); // node11.appendChild(text1); //获得节点 Node nodelast =doc.getLastChild(); //添加标签 Element e1 =doc.createElement("stu"); nodelast.appendChild(e1); //添加元素的属性 Attr atrr = doc.createAttribute("no"); atrr.setValue("12343"); e1.setAttributeNode(atrr); //添加标签createElement Element e2 = doc.createElement("name"); e1.appendChild(e2); //添加元素createTextNode Text text2 =doc.createTextNode("杨过"); e2.appendChild(text2); //添加标签createElement // Element e4 = doc.createElement("sex"); // e1.appendChild(e4); // Text text3=doc.createTextNode("男"); // e4.appendChild(text3); Element e6 = doc.createElement("sex"); e6.setTextContent("女"); e1.appendChild(e6); //添加标签createElement Element e5 = doc.createElement("cla"); e1.appendChild(e5); Text text4=doc.createTextNode("古墓"); e5.appendChild(text4); //将dom文档转化为xml文档 //实例化转化xml的文档 TransformerFactory transfactory = TransformerFactory.newInstance(); //创建转化器 Transformer transformer=transfactory.newTransformer(); //获得需要添加元素的根节点的资源 DOMSource xmlSource = new DOMSource(nodelast); //输出流 String file = "C:\\Users\\Administrator\\Desktop\\xml\\student3.xml"; StreamResult outputTarget = new StreamResult(new FileOutputStream(file)); //开始转换 transformer.transform(xmlSource, outputTarget); printxml(doc); for (Student stu : liststu) { System.out.println(stu.name + " " + stu.no + " " + stu.num + "" + stu.sex + " " + stu.cla); } } /** * 解析xml文档内容的方法 * @param node 传入的Document新的对象 */ public static void printxml(Node node) { // 得到所有的子节点 NodeList list = node.getChildNodes(); // 遍历Nodelist中的子节点 for (int i = 0; i < list.getLength(); i++) { Node node1 = list.item(i); // 获得节点的所有名称 String str = node1.getNodeName(); // System.out.println(str); // 判断node1是不是元素 if (node1 instanceof Element) { if (str.equals("stu")) { stu = new Student(); liststu.add(stu); // 获得元素标签的属性 NamedNodeMap mnm = node1.getAttributes(); for (int j = 0; j < mnm.getLength(); j++) { Node nodes = mnm.item(j); String name = nodes.getNodeName(); String val = nodes.getNodeValue(); if (name.equals("no")) { stu.no = Integer.parseInt(val); } if (name.equals("num")) { stu.num = Integer.parseInt(val); } } } // 都得到标签元素的内容 if (str.equals("name")) { stu.name = node1.getTextContent(); } if (str.equals("sex")) { stu.sex = node1.getTextContent(); } if (str.equals("cla")) { stu.cla = node1.getTextContent(); } } printxml(node1); } } }
DOM解析与添加只能对少量数据进行操作,并且代码的步骤都是固定的;
相关推荐
总结来说,DOM解析XML文件是一种常见的数据处理技术,通过构建内存中的DOM树,能够方便地对XML文档进行查询、修改和操作。在JavaScript中,DOMParser是实现这一功能的关键工具。理解DOM解析的基本原理和方法,将有助...
DOM解析XML和创建XML是Web开发中的基础技能,尤其在处理动态数据和接口交互时,理解并掌握DOM与XML的结合应用至关重要。在实际项目中,我们可能还需要结合其他技术,如XSLT(用于转换XML)和XPath(用于在XML文档中...
标题“java_dom解析xml xml java”表明了本文档的主题是关于如何使用Java中的DOM技术来解析XML文件。 #### 描述分析 描述中提到这是一个适合新手入门的内容,并给出了一个简单的XML示例。该XML文档包含了一个`...
### XML解析技术DOM4J解析 #### DOM4J解析概览 DOM4J是一种高性能、功能强大且极其易于使用的Java XML API,它最初是作为JDOM的一个智能分支发展起来的,自2000年下半年开始持续开发。DOM4J不仅在功能上超越了基本...
在实际应用中,DOM解析通常与网络编程结合,处理从服务器获取的HTML或XML数据。例如,AJAX(Asynchronous JavaScript and XML)技术就常用于异步加载和更新页面内容,而这些内容往往需要通过DOM解析来处理。...
### 基于Jscript脚本技术的SVG文档的DOM解析 #### 摘要与背景 本文主要探讨了SVG(可缩放矢量图形)文档的DOM(文档对象模型)编程接口,并提出了一种利用Jscript脚本技术和中间层“数据池”对SVG文档进行DOM解析...
总之,DOM解析XML文档是编程中常用的技术,它提供了一种强大且灵活的方式来处理XML数据。理解和掌握DOM解析,对于任何涉及XML操作的开发工作都至关重要。通过熟练运用DOM,我们可以高效地构建和操纵XML文档,实现...
"dom解析xml BS结构"这一主题,意味着我们将探讨如何在基于浏览器的客户端应用(Browser-Server,BS结构)中利用DOM解析XML数据。BS架构中,通常由前端浏览器接收服务器传递的XML数据,并通过JavaScript进行解析和...
XML(eXtensible Markup Language)是一种...总之,DOM解析是XML处理的核心技术之一,通过DOM,开发者可以灵活地操作XML文档,实现数据的读取、修改和转换。了解并掌握DOM解析,对于从事涉及XML处理的IT工作至关重要。
`javaSwing`可能是实现这一界面的源代码文件,它允许用户添加、编辑和删除联系人,同时通过DOM解析器与XML文件进行交互。在Swing中,可以使用`JFrame`作为主窗口,`JTable`展示联系人列表,`JOptionPane`进行用户...
**DOM解析技术** DOM解析器将XML文档转换为一棵树形结构,每个节点代表XML文档的一个部分,如元素、属性、文本等。这种解析方式允许开发者方便地遍历整个文档树,查找、添加或修改元素。然而,DOM解析器需要在内存中...
DOM解析会一次性加载整个XML文档到内存,适合小规模的XML;SAX解析则采用事件驱动,逐行读取,适合处理大规模的XML文件。 - 解析XML的基本步骤:创建解析器工厂,通过工厂创建解析器,解析器读取XML文件并生成...
在这个场景中,我们看到的是一个关于如何使用DOM解析技术来处理新闻数据的例子。 首先,我们要理解XML文档的结构。XML是一种标记语言,用于存储数据,其结构清晰,易于人和机器阅读。新闻数据通常包含标题、日期、...
DOM解析是Web开发中的重要技术,主要用于读取、修改、添加或删除HTML和XML文档的元素。本篇文章主要探讨DOM解析的基础知识,包括一层解析和二层解析的概念。 **一层解析:** 一层解析,通常指的是获取文档的基本...
本节将深入探讨Android版本更新的过程以及DOM解析XML的技术。 一、Android版本更新 1. 版本跟进:Android系统经历了从早期的API Level 1到目前的API Level 30等多个版本。每个新版本通常包含对性能、安全性和用户...
DOM解析器将整个XML文档加载到内存中,构建一个树形结构,允许开发者通过节点操作来访问和修改XML内容。以下是对DOM解析XML的详细阐述: 1. **DOM模型**:DOM是一种标准,由W3C组织制定,它将XML文档视为一系列可以...
学习DOM解析和操作对于Web开发人员来说非常重要,它能够帮助开发者更好地理解页面结构,实现动态效果,提高用户体验。理解DOM的工作原理,熟悉各种DOM方法和属性,可以有效提升开发效率,使得对网页内容的控制更为...
**DOM4J解析递归详解** DOM4J是Java中一个强大的XML处理库,它提供了丰富的API用于XML的解析、创建、操作以及遍历。在处理复杂的XML文档时,经常需要用到递归方法来深入到XML的各个层级进行访问。本文将深入探讨DOM...