`
橄榄绿
  • 浏览: 277241 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 创建与解析XML文件

阅读更多

newfilename 修改后另存为该文件
       * @return 返回操作结果, 0表失败, 1表成功
       */

      public int ModiXMLFile(String filename,String newfilename){
         int returnValue = 0;
         try{
             SAXReader saxReader = new SAXReader();
             Document document = saxReader.read(new File(filename));
             //Document document=saxReader.read(new StringReader(filename));
             /** 修改内容之一: 如果book节点中show属性的内容为yes,则修改成no */
             /** 先用xpath查找对象 */
             List list = document.selectNodes("/books/book/@show" );
             Iterator iter = list.iterator();
             while(iter.hasNext()){
                Attribute attribute = (Attribute)iter.next();
                if(attribute.getValue().equals("yes")){
                    attribute.setValue("no");
                }
             }
             /**
              * 修改内容之二: 把owner项内容改为Tshinghua
              * 并在owner节点中加入date节点,date节点的内容为2004-09-11,还为date节点添加一个属性type
              */
             list = document.selectNodes("/books/owner" );
             iter = list.iterator();
             if(iter.hasNext()){
                Element ownerElement = (Element)iter.next();
                ownerElement.setText("Tshinghua");
                Element dateElement = ownerElement.addElement("date");
                dateElement.setText("2007-09-06");
                dateElement.addAttribute("type","Gregorian calendar");
             }

             /** 修改内容之三: 若title内容为Dom4j Tutorials,则删除该节点 */

             list = document.selectNodes("/books/book");

             iter = list.iterator();

             while(iter.hasNext()){

                Element bookElement = (Element)iter.next();

                Iterator iterator = bookElement.elementIterator("title");

                 while(iterator.hasNext()){

                    Element titleElement=(Element)iterator.next();

                    if(titleElement.getText().equals("Dom4j Tutorials")){

                       bookElement.remove(titleElement);

                    }

                }

             }



             try{

                /** 将document中的内容写入文件中 */

                XMLWriter writer = new XMLWriter(new FileWriter(new File(newfilename)));

                writer.write(document);

                writer.close();

                /** 执行成功,需返回1 */

                returnValue = 1;

             }catch(Exception ex){

                ex.printStackTrace();

             }



         }catch(Exception ex){

             ex.printStackTrace();

         }

         return returnValue;

      }


      /**

         * 格式化XML文档,并解决中文问题

         * @param filename

         * @return

         */

        public int formatXMLFile(String filename){

           int returnValue = 0;

           try{

               SAXReader saxReader = new SAXReader();

               Document document = saxReader.read(new File(filename));

               XMLWriter writer = null;

               /** 格式化输出 */

               OutputFormat format = OutputFormat.createPrettyPrint();

               /** 指定XML编码 */

               format.setEncoding("GBK");

               writer= new XMLWriter(new FileWriter(new File(filename)),format);

               writer.write(document);

               writer.close();

               /** 执行成功,需返回1 */

               returnValue = 1;

           }catch(Exception ex){

               ex.printStackTrace();

           }

           return returnValue;

        }



    public static void main(String[] args) {

       Dom4jDemo temp = new Dom4jDemo();
       temp.createXMLFile("e://myxml.xml");
       //temp.formatXMLFile("e://myxml.xml");
       //temp.ModiXMLFile("e://myxml.xml", "e://myxml2.xml");

       //System.out.println(temp.createXMLFile("d://testxml.xml"));
      
       //System.out.println(temp.ModiXMLFile("d://testxml.xml","d://testxml2.xml"));
//       try{
         //System.out.println(temp.formatXMLFile("d://testxml2.xml"));
//        // System.out.println(temp.formatXMLFile("E:\\test.xml"));
//       }
//       catch(Exception e)
//       {
//        // e.printStackTrace();
//        System.out.print("error!");
//
//    }

    }
}

分享到:
评论

相关推荐

    Java中如何解析XML文件

    Java中如何解析XML文件,创建xml文件,增、删、改、查 xml节点信息

    java解析XML文件

    总结,Java使用DOM4J库解析XML文件涉及到读取文件、获取根元素、遍历元素和属性、提取文本内容、创建和修改XML以及保存XML。DOM4J因其易用性和强大的功能,成为Java开发者处理XML的首选工具之一。在实际项目中,根据...

    使用java解析XML文件,解析完之后将解析结果导入mysql数据库中

    - JAXB解析:如果XML文件与Java对象模型有明确的一对一关系,JAXB提供了一种更便捷的方法。使用`Unmarshaller`可以从XML文件中创建Java对象,而`Marshaller`可以将Java对象转换回XML。 2. **导入数据到MySQL**: ...

    java 解析xml 多级

    Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...

    java利用jdom解析xml文件

    在Java中,JDOM提供了两种主要的方式来解析XML文件:SAX(Simple API for XML)和DOM(Document Object Model)。SAX是事件驱动的,逐行解析文件,适用于大文件,内存消耗小;而DOM则将整个XML文件加载到内存中,...

    java创建xml文件

    在Java编程语言中,创建XML(可扩展标记语言)文件是一项常见的...总之,Java创建XML文件的过程涉及到DOM解析、元素和属性的创建、文本节点的添加以及文件的序列化。掌握这些知识点有助于在项目中灵活地处理XML数据。

    解析XML文件的四种方式整合

    本文将详细讲解四种解析XML文件的方法,旨在帮助初学者更好地理解和掌握XML处理技术。 1. DOM解析器(Document Object Model) DOM解析器将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。这个方法的优点...

    java导入导出xml文件

    1. DOM解析:使用`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`创建一个解析器实例,然后调用`parse()`方法解析XML文件,返回一个`Document`对象。之后,可以通过`Document`对象的`...

    java创建与解析xml的例子

    在Java中,处理XML文件是常见的任务,包括创建XML文档和解析XML内容。这个压缩包提供了一个Web工程,其中包含了XML的创建与解析的示例代码,适合在Eclipse环境下运行。 创建XML文档通常涉及以下几个步骤: 1. **...

    读取XML文件的四种方法

    使用DOM方法读取XML文件,需要创建DocumentBuilderFactory对象,获取DocumentBuilder对象,然后解析XML文件得到Document对象。最后,使用Document对象的getElementsByTagName方法获取指定标签的节点列表,并遍历节点...

    使用JDOM解析XML文件

    本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了...

    java_dom解析xml xml java

    标题“java_dom解析xml xml java”表明了本文档的主题是关于如何使用Java中的DOM技术来解析XML文件。 #### 描述分析 描述中提到这是一个适合新手入门的内容,并给出了一个简单的XML示例。该XML文档包含了一个`...

    JAVA调用webservice并解析xml

    总结,调用Java中的Web服务并解析XML涉及到了Web服务的基础概念、Java的Web服务客户端创建、XML解析技术以及实际的调用与响应处理。熟练掌握这些知识点,能够帮助开发者有效地集成和利用各种Web服务资源。

    java代码pdf解析成xml.rar

    Java代码PDF解析成XML是一项技术任务,涉及到Java编程语言、PDF文档处理和XML数据格式转换。在这个场景中,我们主要关注如何使用Java库iTextPDF将PDF文档中的内容解析为XML结构。 首先,我们需要理解PDF(Portable ...

    利用JDOM解析xml文件

    总结来说,利用JDOM解析XML文件,我们可以轻松地将XML结构转换为Java对象,这对于数据的序列化和反序列化非常有用。通过JDOM,开发者可以快速地读取XML数据,根据类名创建对象,并设置相应的属性,实现数据的高效...

    利用java语言解析xml文件

    ### 使用Java语言解析XML文件的关键知识点 #### 一、引言 XML(可扩展标记语言)是一种用于存储和传输数据的标准格式。它以其强大的结构化数据表示能力而被广泛应用于不同场景,例如配置文件、数据交换等。Java作为...

    android 解析XML文件 生成XML文件

    3. 使用parse()方法解析XML文件,传入输入流和之前创建的处理器对象。 二、DOM解析XML文件 DOM(Document Object Model)将整个XML文档加载到内存中,形成一棵树形结构,方便遍历和操作。对于小规模的XML文件,DOM...

    android下解析xml文件的demo

    本教程将详细介绍如何在Android环境下解析XML文件,以"ReadXMLDemo"为例,展示具体步骤和关键知识点。 首先,XML(eXtensible Markup Language)是一种自定义标记语言,它的结构清晰,易于读写,适合于数据交换和...

    解析并创建XML文件和Java的反射

    在解析XML文件时,Java提供了多种API,其中最常用的是DOM(Document Object Model)和SAX(Simple API for XML)。DOM将整个XML文档加载到内存中形成一棵树形结构,方便对整个文档进行随机访问,但消耗资源较大。SAX...

    Java解析XML文件的DOM和SAX方式.doc

    在 Java 中使用 DOM 方式解析 XML 文件需要使用 JAXP(Java API for XML Processing),首先需要创建一个解析器工厂,然后使用工厂创建一个具体的解析器对象。然后,使用解析器对象来解析 XML 文件,得到一个 ...

Global site tag (gtag.js) - Google Analytics