`
rogerhunt
  • 浏览: 57753 次
  • 性别: Icon_minigender_1
  • 来自: 新加坡
社区版块
存档分类
最新评论

怎么用Java修改XML文件--(DOM解析器)

 
阅读更多
在这个例子里,我说明DOM解释器修改已有XML文件的使用: 增加新的元素; 更新已有元素属性; 更新已有元素值; 删除已有元素; 1. XML文件 观察前后XML文件。 文件: file.xml - 原XML文件。 [code="xml"] Users/tongxiqing/file.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?><company><staff id="1"><lastname>孙</lastname><nickname>齐天大圣</nickname><salary>2000000</salary></staff></company> [/code] 之后,通过DOM XML 解析器更新以上XML 文件。 更新staff属性 id = 2; 更新工资值为 200000; 在staff下添加一个"age"的新元素; 删除staff下的“firstname”元素; 文件:file.xml – 最新修改过的XML文件. [code="xml"] <?xml version="1.0" encoding="UTF-8" standalone="no"?><company><staff id="2"><lastname>孙</lastname><nickname>齐天大圣</nickname><salary>2000000</salary><age>28</age></staff></company> [/code] 2. DOM 解析器 DOM XML 解析器更新了以上的XML文件。 [code="java"] /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.mkyong.seo; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; 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.xml.sax.SAXException; /** * * @author Administrator */ public class ModifyXMLFile { public static void main(String argv[]) { try { String filepath = "src/Users/tongxiqing/file.xml"; DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.parse(filepath); // Get the root element Node company = doc.getFirstChild(); // Get the staff element , it may not working if tag has spaces, or // whatever weird characters in front...it's better to use // getElementsByTagName() to get it directly. // Node staff = company.getFirstChild(); // Get the staff element by tag name directly Node staff = doc.getElementsByTagName("staff").item(0); // update staff attribute NamedNodeMap attr = staff.getAttributes(); Node nodeAttr = attr.getNamedItem("id"); nodeAttr.setTextContent("2"); // append a new node to staff Element age = doc.createElement("age"); age.appendChild(doc.createTextNode("28")); staff.appendChild(age); // loop the staff child node NodeList list = staff.getChildNodes(); for (int i = 0; i
分享到:
评论

相关推荐

    (java)DOM解析XML文件并实现通讯录

    用java中的DOM解析器,解析XML文档,并实现一简单通讯录!

    xml解析器-dom4j的支持包_ 教程

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件...如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包, Hibernate用它来读写配置文件。

    dom4j.jar包,java解析xml dom4j.jar包

    dom4j.jar的jar包,java解析xml文件的jar包,无脑好用~

    java中用dom解析xml的经典入门级文档

    java中用dom解析xml的经典入门级文档

    android 解析XML文件 生成XML文件

    支持SAX解析XML文件,DOM解析XML文件,Pull解析器解析XML文件,Pull生成XML文件,JAVA和Kotlin两种语言编写

    VTD-XML 不同于SAX和DOM的XML高效解析器

    不同于SAX和DOM的XML高效解析器,内存占用少,速度快,支持XPATH;用多种语言实现,C,JAVA等

    jsp操作xml源码,解析器为DOM和SAX

    利用JSP直接读写XML文件,分别用DOM解析器和SAX解析器加以实现,非常适合初学者入门,作为一个了解jsp与XML的台阶

    Spring-IOC手动模拟实现-利用dom4解析xml文件

    通过dom4j解析配置文件,得到list集合(存放Bean标签的id和class属性) * 3.通过反射实例化得到对应的实例化对象,放置在map中(map是键值对,可根据id获取值)(遍历list获取对应的class属性,利用class。formName...

    XML解析工具

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...

    java解析xml及4种常用解析比较

    然而由于使用DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML文件的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频繁的改变的服务中。 SAX解析器采用了基于事件的...

    XML DOM技术的设计

    掌握DOM解析器,包括创建DOM解析器的步骤;Doucument对象的结构。节点的类型,包括Node接口;Node 接口的常用方法;节点的子孙关系。各节点的实例,包括element节点 、Text节点、 Attr节点 、 DocumentType节点、 ...

    经典的DOM解析XML范例

    用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)...Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器

    DOM4J的读,写,创建XML文件操作

    使用DOM4J进行的一系列对XML文件的操作,包括读写,创建,同时注释出相关的常用的解析器,Document创建器

    java DOM解析xml操作大全,增删改查

    Dom操作xml文件,增删改查的操作,三层架构设计,servlet,过滤器,利用单例模式开发

    使用Java XML解析器实现一个简单的XML文档操作.txt

    这个代码实现了一个简单的XML文档操作。首先导入了所需的库,然后定义了一个名为SimpleXML的类,并在main()方法中创建了一个XML文档...由于使用了DOM解析器来访问XML文档,因此可以方便地获取和修改XML文档中的数据。

    xml的JAVA解析与格式定义

    解析器的介绍 文档对象模型(DOM)解析实例 SAX解析实例 DOM4J解析实例 JDOM解析实例 JAVA操纵XML 实例讲解

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    3.2.2 dom解析器工厂 50 3.2.3 jaxp的错误类和异常类 52 3.2.4 用dom解析xml文档实例 53 3.3 使用sax解析xml文档 65 3.3.1 sax的处理机制 66 3.3.2 配置sax解析器 69 3.3.3 sax解析器工厂 70 3.3.4 sax的异常...

    XML-Java-Parser:一个 Java 程序,它接受一个目录并递归地解析 XML 文件以生成更小、更易读的文件,遵循某些限制

    Xml-Java-解析器 在 Houari Boumediene 科技大学通用计算机科学 (ACAD) 的第三年第一学期进行的结构化文档项目,用于“结构化文档和 XML”模块 目标 目标是获取一个包含预定义 XML 文件的目录,并递归浏览它,使用 ...

    Java中四种XML解析技术

    然而由于使用 DOM 解析器的时候需要处理整个 XML 文档,所以对性能和内存的要求比较高,尤其是遇到很大的 XML 文件的时候。由于它的遍历能力,DOM 解析器常用于 XML 文档需要频繁的改变的服务中。  SAX 解析器...

    java解析xml

    // 把要解析的XML文档转化为输入流,以便DOM解析器解析它 InputStream is = new FileInputStream("test.xml"); // 解析XML文档的输入流,得到一个Document Document doc = dombuilder.parse(is); // 得到XML...

Global site tag (gtag.js) - Google Analytics