`

Dom4j读取写入xml

    博客分类:
  • JAVA
 
阅读更多
  /**
     * 按照日期生成上报的xml数据
     * @param date
     * @return
     */
    public String buildXmlDataPath(String date) {
        //document
        long docmentStartTime = System.currentTimeMillis();
        Document root = buildRootDocument(); //rootElement
        Element docElement = root.addElement(DOC);//docElement
        buildHeadElement(date, docElement);//headElement

        //reportInfo
        Element reportInfoElement = docElement.addElement(REPORTINFO);
        buildReport1Element(date,reportInfoElement);
        logger.info("【 Document生成完成】==>");

        //输出文件
        XMLWriter writer = null;
        String filePath = buildXmlFilePath(date);
        logger.info("【 Document输出文件路径】==>" + filePath);

        try{
            //输出带有格式的xml
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding(CHARSET_UTF_8);
            writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(filePath),CHARSET_UTF_8) ,format);
            writer.write(root);
            writer.flush();

            logger.info("【 Document文件写入完成】==>" + filePath);
        }catch(Exception e){
            logger.error(e.getMessage(),e);
        }finally {
            try {
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        logger.info("生成上报XmlFile ==> "+filePath+" costs-time: " + (System.currentTimeMillis() - docmentStartTime ));
        return filePath;
    }

 

    @NotNull
    private Document buildRootDocument() {
        Document root = DocumentHelper.createDocument();//建立document对象,用来操作xml文件
        root.addDocType("your_root_name [\n" +
                "<!ENTITY nbsp \" \">\n" +
                "<!ENTITY copy \"©\">\n" +
                "<!ENTITY reg \"®\">\n" +
                "<!ENTITY trade \"™\">\n" +
                "<!ENTITY mdash \"—\">\n" +
                "<!ENTITY ldquo \"“\">\n" +
                "<!ENTITY rdquo \"”\"> \n" +
                "<!ENTITY pound \"£\">\n" +
                "<!ENTITY yen \"¥\">\n" +
                "<!ENTITY euro \"€\">\n" +
                "]","","");
        return root;
    }

 

    
    private void createSubElement(Element e,String elementName,String text){
        Element reporterElement = e.addElement(elementName);
        if(StringUtils.isBlank(text)){
            reporterElement.setText("");
        }else{
            reporterElement.setText(text);
        }
    }

    private Element createSubElement(Element e,String elementName){
        return e.addElement(elementName);
    }

 

 

  /**
     * headElement
     * @param date
     * @param docElement
     */
    private void buildHeadElement(String date, Element docElement) {
        //Head
        Element headInfoElement = this.createSubElement(docElement,"head");
        Element tablePElement = this.createSubElement(headInfoElement,"table");
        tablePElement.addAttribute("name","DataHead");

        this.createSubElement(tablePElement,"datadate",date);
        this.createSubElement(tablePElement,"code", "1");
        this.createSubElement(tablePElement,"name", "测试");
     }

    /**
     * 标的列表
     * @param date
     * @param result
     * @param reportInfoElement
     */
    private void buildReport1Element(String date, Element reportInfoElement) {
        //report1 - 项目信息
        Element report1Element = this.createSubElement(reportInfoElement,"r1");
        report1Element.addAttribute("name","001");
        report1Element.addAttribute("type","DV");    
        Element recordElement = this.createSubElement(report1Element,"record");
        this.createSubElement(recordElement,"id","1111");
        this.createSubElement(recordElement,"date",date);
        }
    }

 

分享到:
评论

相关推荐

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    dom读取xml与写入xml

    所有相关文件 博文链接:https://anlinko.iteye.com/blog/714273

    XML用DOM4J方式读取与写入

    XML用DOM4J方式读取与写入,,相关学习文档。。。。

    利用 dom4j 解析 xml 文档

    自己写的dom4j 解析xml 文档的纤细案例,主要讲解,如何使用dom4j 来读取 或 写入xml 文档。。。

    dom4j操作xml文件

    里面详细讲述了如何利用dom4j来操作xml文件 并进行读写修改的操作

    Java+flex使用dom4j读写xml

    2.Java方面,使用dom4j对xml进行操作,包括节点的读取,添加,修改,删除。 3.Flex方面,使用DataGrid呈现数据;使用RemoteObject构建和Java的通信;使用到了验证控件Validator;使用了CSS样式对Alert对话框进行了...

    Java实现PDF读写(Itext)与解析XML读写(Dom4j)

    二、用Java语言(Dom4j)完成了以下XMLToVds、TxtToVDS功能: 项目文件为TxtToVDS.java 、XMLToVds.java 1、创建TXT D:/zhouyl/111.txt 2、读TXT文本D:/zhouyl/111.txt创建相应格式的D:/zhouyl/111.VDS 3、创建XML...

    java处理BOM头的XML

    java处理BOM头的XML,使用记事本编辑会产生BOM头,这样的XML在dom4j处理时会报异常。

    dom4j的jar包

    解析xml文件以及生成xml文件的jar包,能够快速的解决xml文件的读取与写入,根据元素直接定位

    QT使用SAX读取xml高效-快速.rar

    如果你只想读取并显示整个XML文档,那么SAX是很好的选择,因为它提供了比DOM更简单的接口,并且它不需要将整个XML文档一次性读入内存,这样便可以用来读取较大的文件 SAX只能读取,不能写入 博文链接:...

    Android读写XML.docx

    举例来说,Java 的 Simple API for XML (SAX) 和 Document Object Model (DOM) 在 Android 上都是可用的,这些 API 多年以来一直都是 Java 技术的一部分,较新的 Streaming API for XML (StAX) 在 Android 中并不...

    v1.2 解析XML文件 读取XML文件 保存XML文件 添加节点 删除节点 修改节点 添加属性 修改/删除属性

    功能:写入xml文件 参数:[in] xml文件路径 返回:true写入成功 false写入失败 **************************************/ bool WriteXml(CString sXmlPath /*xml文件路径*/); /****************************...

    xmlRaed.zip

    java读取和写入xml文件,写入xml文件,读取xml文件内容的demo,该资源包含了java四种方式读取和写入xml文件的代码。

    android json与xml解析 例子 demo

    android json与xml解析 例子 demo 包含Json和xml解析 其中json包括解析带数组的和不带数组的; xml包括DOM解析和SAX解析

    jdom1.1.3xml解析工具类

    org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org....

    通过php添加xml文档内容的方法

    这里讲述的添加xml文档内容,从上一篇《DOM基础及php读取xml内容操作的方法》继续,代码如下: 复制代码 代码如下:&lt;?php //1、创建一个DOMDocument对象。该对象就表示 xml文件 $xmldoc = new DOMDocument(); //2...

    Android利用Document实现xml读取和写入操作

    本文实例为大家分享了利用Document实现xml读取和写入操作,供大家参考,具体内容如下 首先先来介绍一下什么xml?xml是可扩展标记语言,他可以用来标记数据,定义数据类型。是一种允许用户对自己标记语言进行定义的源...

    XMLDemo_java.rar_XMLDemo_java_java xml_sax_to write xml in java

    用JAVA实现的读取,写入XML的程序,实现了SAX和DOM两种方式。

    java读写xml文件

    用java在内存中构造一个dom树后,将dom树写入磁盘中的xml文件中,同时也可以通过java对已存在的xml文件进行读取

    1.ASP.NET.2.0.XML.高级编程(第3版) [1/3]

    \r\n 4.2.2 使用XmlReader类读取XML数据的步骤\r\n 4.3 写入XML数据 \r\n 4.4 小结 \r\n第5章 XML数据验证\r\n 5.1 XML验证 \r\n 5.1.1 .NET Framework 2.0支持的验证类型 \r\n 5.1.2 使用XSD模式验证XML数据 ...

Global site tag (gtag.js) - Google Analytics