`
xp9802
  • 浏览: 1208106 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

一个小Demo阐释Dom解析处理的过程

 
阅读更多

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.Attr;
import org.w3c.dom.NodeList;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
public class XmlParser
{   public static void main(String[] args)
            throws Exception
    {        xmlwriter();
    }
    public static void xmlparser()
            throws Exception
    {
        DocumentBuilderFactory xdf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = xdf.newDocumentBuilder();
        Document d = db.parse("C:\\A1\\customer.xml");
        NodeList nl = d.getElementsByTagName("customer");
        for (int i = 0; i < nl.getLength(); i++)
        {

            Element e = (Element) nl.item(i);
            Attr a = e.getAttributeNode("customerID");
            System.out.println(a.getNodeValue());
            NodeList nl1 = e.getElementsByTagName("customerName");
            System.out.println(nl1.item(0).getFirstChild().getNodeValue());
        }
    }
    public static void xmlwriter() throws Exception
    {
        DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
        DocumentBuilder db=dbf.newDocumentBuilder();
        Document d=db.parse("C:\\A1\\customer.xml");
        NodeList nl=d.getElementsByTagName("customerName");
        for(int i=0;i<nl.getLength();i++)
        {
           Element e=(Element) nl.item(i);
           System.out.println(e.getFirstChild().getNodeValue());
           e.getFirstChild().setNodeValue(e.getFirstChild().getNodeValue()+"111111111111111");
        }
        TransformerFactory tff=TransformerFactory.newInstance();
        Transformer tf=tff.newTransformer();
        tf.transform(new DOMSource(d),new StreamResult("c:\\aa.xml"));
}   }



运行:

DocumentBuiler db
Document d=db.parse(“具体文件路径”);
NodeList nl=d.getElementsByTagName(“节点名”)
分享到:
评论

相关推荐

    DOM解析xml一个demo实例

    很实用的一个dom解析xml实例,很容易上手

    dom解析xml的demo

    在实际应用中,DOM解析适合处理小到中等规模的XML文档,因为将整个文档加载到内存中可能会消耗大量资源。对于大型XML文档,更推荐使用SAX(Simple API for XML)或StAX(Streaming API for XML)等流式解析器,它们...

    Dom4j_demo.rar_DEMO_dom4j de_dom4j demo_dom4j demo project_xml读

    Dom4j是一个开源的Java库,它提供了一个灵活且高性能的方式来处理XML。它支持XPath表达式,可以方便地获取XML文档中的特定节点。此外,Dom4j还支持SAX和DOM解析器,以及JAXB和JDOM的接口,使其能够与多种XML处理技术...

    XML解析之DOM

    DOM解析器将整个XML文档加载到内存中,形成一个节点树,每个元素、属性、文本等内容都对应一个节点。这种解析方式使得处理大型XML文件时可能会消耗大量内存,但同时也提供了对XML文档的全面和即时访问。 首先,我们...

    android下解析xml文件的demo

    DOM解析器将整个XML文件加载到内存中,形成一个树形结构,可以方便地遍历和修改XML文档的任何部分。然而,由于它需要一次性加载整个文件,对于大文件来说可能会消耗大量内存。 在"ReadXMLDemo"中,使用DOM解析的...

    dom4j demo 使用

    DOM4J 是一个强大的Java库,用于处理XML文档。它提供了一套灵活且高效的API,使得XML的解析、创建、查询和修改变得简单。DOM4J这个名字来源于Document Object Model (DOM) 和Java的结合,但它实际上并不是DOM API的...

    java 解析XML性能对比分析Demo

    DOM4J是另一个流行的Java XML处理库,提供了灵活的API,支持DOM、SAX和StAX解析方式。它具有强大的XPath支持,易于学习,适合复杂查询,但内存消耗介于DOM和SAX之间。 5. JAXB(Java Architecture for XML Binding...

    ios 简单xml解析DEMO绝对可用

    通常,你需要在解析过程中将数据添加到一个数组,然后在UITableView的`numberOfRowsInSection`和`cellForRowAt`方法中使用这个数组。 6. **注意点** - 当处理大文件时,`NSXMLParser`可能会消耗大量内存,因为它一...

    使用dom4j高效率xml解析,内涵demo程序,idea导入即可运行,适用于各种复杂xml的解析,给自己留作备份,有需要可下载。

    本教程将深入讲解如何使用DOM4J进行高效XML解析,并通过一个简单的DEMO程序进行演示。 首先,我们需要了解DOM4J的基本概念。DOM4J采用的是Document Object Model(DOM)模型,它将XML文档转换为一个树形结构,每个...

    Android解析xml的Demo

    DOM解析适用于小规模、频繁访问的XML文件,SAX解析适合处理大型XML,而Pull Parser则因为其轻量级和高效的特性,在Android设备上被广泛采用。 在"Android解析xml的Demo"中,你可以找到这三种解析方式的具体实现,...

    dom_xml_demo

    标题中的"dom_xml_demo"暗示了我们关注的焦点是DOM(Document Object Model)解析XML文档的一个示例。DOM是一种在JavaScript或任何支持它的语言中处理XML文档的标准方式,它允许程序和脚本创建、访问和修改XML文档的...

    xml解析demo以及资料

    综上所述,这个“xml解析demo以及资料”涵盖了XML解析、XML与数据库交互的关键技术,包括选择合适的解析策略、数据映射、SQL操作以及字符编码的处理。通过学习和实践这些内容,开发者可以更好地理解和掌握XML在实际...

    JAVA XML解析demo可直接使用

    DOM4J是一个非常灵活且功能强大的Java库,它提供了对XML文档的全面处理,包括读取、写入、修改和操作XML文件。 XML(Extensible Markup Language)是一种标记语言,用于存储和传输结构化数据。它的主要优点是数据与...

    关于解析xml的一些demo

    1. DOM解析:它将整个XML文档加载到内存中,形成一个树形结构。每个节点代表XML文档的一个部分,可以通过遍历节点来访问和修改数据。这种方法适合小型XML文件,因为大型文件会消耗大量内存。 2. SAX解析:SAX是一种...

    一个关于sax解析xml的demo

    5. 在解析过程中,SAX解析器会调用处理器的事件方法,执行对应的处理代码。 示例代码可能如下: ```java import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers....

    Demo4j解析XML文档实例和方法总结(经典)

    Demo4j并不是一个官方的库或框架,可能是为了教学或演示目的而创建的一个小型Java项目,它可能包含了对XML解析的一些基本操作示例。在Java中,我们通常使用DOM、SAX或StAX等API来解析XML。 1. DOM解析器: DOM...

    Android中解析html网页示例Demo

    总的来说,这个"Android中解析html网页示例Demo"涵盖了网络请求、HTML解析(如使用Jsoup)和数据展示的基本流程,对于初学者来说,这是一个很好的实践项目,可以帮助他们理解Android应用如何与网络交互并处理返回的...

    json复杂数据解析demo

    例如,一个用户对象可能包含一个地址数组,每个地址又是一个包含街道、城市等信息的对象。在解析时,我们需要递归地遍历这些结构,通过键访问值,对于数组则需要迭代其元素。 4. **处理特殊类型**:JSON中的true和...

    vue 2.0写的一个小demo

    在"vue 2.0写的一个小demo"中,我们可以看到开发者运用了Vue的多个核心概念和技术。以下是对这些知识点的详细解释: 1. **双向数据绑定**:Vue 的核心特性之一是双向数据绑定(Two-Way Data Binding)。通过 `v-...

    stax 解析xml demo project

    总之,"stax 解析xml demo project"是一个很好的实践平台,通过这个项目,你可以深入理解STAX的工作机制,学习如何有效地处理大型XML文档,并掌握XML解析的高效方法。在实际工作中,当需要处理大量的XML数据时,STAX...

Global site tag (gtag.js) - Google Analytics