/** * 按照日期生成上报的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中的特定节点,最后将更新后的内容写回XML文件。下面我们将详细探讨这一过程。 1. **解析XML到String** 要将XML文件...
在本示例中,我们将探讨如何利用DOM4J来读取和解析XML文件,以及如何通过`XMLTest.java`这个示例来理解DOM4J的基本用法。 首先,`XMLTest.java`是一个包含DOM4J操作XML的代码实例。通常,这样的程序会包含以下步骤...
本文将详细介绍如何使用DOM4J来读取XML文件中的信息。 ### DOM4J读取XML详解 #### 初始化资源路径 代码片段中的`URL url = this.getClass().getClassLoader().getResource("/")`这一行是获取类加载器的根目录路径...
Dom4j便是一款功能强大且易于使用的Java库,它提供了非常简洁的API来读取、写入以及修改XML文档。本文将详细介绍如何使用Dom4j读取XML文件,并通过一个具体示例来进行深入探讨。 #### 二、环境搭建与依赖引入 在...
要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...
在本文中,我们将详细探讨如何利用DOM4J库来读取XML文件。 1. **安装DOM4J** 要使用DOM4J,首先需要将其添加到你的项目依赖中。如果你使用的是Maven,可以在`pom.xml`文件中添加以下依赖: ```xml <groupId>...
### Java使用DOM4J读取XML知识点解析 #### 一、概述 在Java开发中,处理XML文件是一项常见的任务。DOM4J是一个简单且功能强大的Java库,用于处理XML文档。它提供了类似于DOM的API,但更为轻量级且易于使用。本篇将...
总结起来,DOM提供了一种强大的机制,使得开发者可以方便地读取、修改和写入XML文档。通过源码分析,我们可以更深入地理解其工作原理,这对开发和调试XML处理代码至关重要。在实际应用中,需要注意DOM解析整个XML...
### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库...
DOM4J是一个非常流行的Java XML API,它提供了丰富的功能,包括读取、写入、修改以及操作XML文档。在XML处理中,格式化是一个重要的环节,它可以使得XML代码更加整洁、易读,便于理解和维护。 【描述】虽然描述部分...
**DOM4J的写入XML:** 1. **创建Element**:使用`Element.create.Element(String name)`创建新元素。 2. **添加子元素和属性**:使用`addElement()`添加子元素,`addAttribute()`添加属性。 3. **设置文本内容**:...
### DOM4J解析XML知识点详解 #### 一、DOM4J简介 DOM4J是一个Java库,用于处理XML文档。它的设计目标是为了提供一个简单、易于使用的API来处理XML文件,同时保持性能上的优势。与Java标准库中的DOM实现相比,DOM4J...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除...
在博客“DOM4J读取XML文件”中,作者可能会详细讲解上述概念,并提供示例代码来展示如何使用DOM4J来读取、解析、修改和写入XML文件。如果你手头有一个名为“Dom4jTest”的压缩包文件,里面可能包含了示例代码或测试...
下面是一个使用DOM4J读取带有命名空间的XML文件的基本步骤: 1. **导入必要的DOM4J库**: 在项目中引入DOM4J库,通常通过Maven或Gradle等构建工具添加依赖。 2. **解析XML文件**: 使用`DocumentFactory`创建一...
DOM4J通过其灵活的API,使开发者可以轻松地读取、写入和操作XML文件。例如,你可以使用DOM4J来获取XML文档的根元素,遍历元素树,检索或修改元素、属性、文本内容,甚至执行XPath查询。 `dom4j-1.6.1.jar`是DOM4J的...
**DOM4J解析XML的基本概念** DOM4J是Java中一个功能强大且灵活的XML处理库,它提供了全面的XML解决方案,包括...在实际开发中,DOM4J不仅能够读取XML,还能帮助我们构建、修改XML文档,是Java处理XML的重要工具之一。
本教程将详细讲解如何利用DOM4J进行XML文件的创建和读取。首先,我们需要了解DOM4J的核心概念,如Element、Attribute、Document等。 1. **DOM4J基本概念**: - **Document**: XML文档的根节点,代表整个XML文件。 ...
DOM4J是Java中一个非常强大的XML处理库,它提供了丰富的API来操作XML文档,如读取、写入、修改以及查询XML。本教程将深入探讨XML DOM4J解析的相关知识点。 一、DOM4J基本概念 DOM4J是一种灵活的Java API,其设计...
这篇博客将引导我们了解如何利用DOM4J来读取XML文件,这是Java开发中常见的任务之一。 **DOM4J的基本概念** DOM4J采用Document Object Model (DOM)接口,但它通过添加额外的灵活性和性能优化,超越了标准DOM。DOM4J...