`
wang_ping001
  • 浏览: 88739 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用dom4j生成XML文件

阅读更多
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.net.URISyntaxException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class rzXML1 {
   
    public void createXML(String value,String name) {
        //用工厂类创建一个document实例
        Document doc = DocumentHelper.createDocument();
        //创建根元素emps
        Element rootEle = doc.addElement("Chart");
        //添加注释
       // rootEle.addComment("这是一个dom4j生成的xml文件");
        rootEle.addAttribute("bgColor","#C3C3C3");
        rootEle.addAttribute("upperLimit","100");
        rootEle.addAttribute("lowerLimit","0");
        rootEle.addAttribute("baseFontColor","FFFFFF");
        rootEle.addAttribute("majorTMNumber","11");
        rootEle.addAttribute("majorTMColor","FFFFFF");
        rootEle.addAttribute("majorTMHeight","8");
        rootEle.addAttribute("minorTMNumber","5");
        rootEle.addAttribute("minorTMColor","FFFFFF");
        rootEle.addAttribute("minorTMHeight","3");
        rootEle.addAttribute("toolTipBorderColor","FFFFFF");
        rootEle.addAttribute("toolTipBgColor","333333");
        rootEle.addAttribute("gaugeOuterRadius", "98");
        rootEle.addAttribute("gaugeOriginX", "100");
        rootEle.addAttribute("gaugeOriginY", "95");
        rootEle.addAttribute("gaugeScaleAngle", "270");
        rootEle.addAttribute("placeValuesInside", "1");
        rootEle.addAttribute("gaugeInnerRadius", "80%25");
        rootEle.addAttribute("annRenderDelay", "0");
        rootEle.addAttribute("gaugeFillMix", "");
        rootEle.addAttribute("pivotRadius", "15");
        rootEle.addAttribute("showPivotBorder", "0");
        rootEle.addAttribute("pivotFillMix", "{CCCCCC},{333333}");
        rootEle.addAttribute("pivotFillRatio", "100,100");
        rootEle.addAttribute("showShadow", "1");
        //emps根节点下创建一个emp节点
        Element empEle = rootEle.addElement("colorRange");
        //emp添加属性id="1"
        //empEle.addAttribute("id", "1");
        //emp节点下创建一个name节点
        Element nameEle = empEle.addElement("color");
        //name节点下创建一个文本节点zhangsan
        nameEle.addAttribute("minValue", "0");
        nameEle.addAttribute("maxValue", "50");
        nameEle.addAttribute("code", "C1E1C1");
        nameEle.addAttribute("alpha", "40");
        //再为name节点创建一个兄弟节点
        Element sexEle = empEle.addElement("color");
        sexEle.addAttribute("minValue", "50");
        sexEle.addAttribute("maxValue", "85");
        sexEle.addAttribute("code", "F6F164");
        sexEle.addAttribute("alpha", "40");
       
        Element Ele = empEle.addElement("color");
        Ele.addAttribute("minValue", "85");
        Ele.addAttribute("maxValue", "120");
        Ele.addAttribute("code", "F70118");
        Ele.addAttribute("alpha", "40");
       
        Element aa = rootEle.addElement("dials");
        Element disEle = aa.addElement("dial");
        disEle.addAttribute("value", value);
        disEle.addAttribute("borderColor","FFFFFF");
        disEle.addAttribute("bgColor", "000000,CCCCCC,000000");
        disEle.addAttribute("borderAlpha", "10");
        disEle.addAttribute("baseWidth", "8");
       
       
        Element tionds = rootEle.addElement("annotations");
        Element groupEle = tionds.addElement("annotationGroup");
        groupEle.addAttribute("xPos", "90");
        groupEle.addAttribute("yPos", "86");
        groupEle.addAttribute("showBelow", "1");
       
        Element  action = groupEle.addElement("annotation");
        action.addAttribute("type", "circle");
        action.addAttribute("xPos", "10");
        action.addAttribute("yPos", "10");
        action.addAttribute("radius", "100");
        action.addAttribute("startAngle", "0");
        action.addAttribute("endAngle", "360");
        action.addAttribute("fillColor", "CCCCCC,111111");
        action.addAttribute("fillPattern", "linear");
        action.addAttribute("fillAlpha", "100,100");
        action.addAttribute("fillRatio", "100,100");
        action.addAttribute("fillAngle", "-45");
       
        Element  action1 = groupEle.addElement("annotation");
        action1.addAttribute("type", "circle");
        action1.addAttribute("xPos", "10");
        action1.addAttribute("yPos", "10");
        action1.addAttribute("radius", "100");
        action1.addAttribute("startAngle", "0");
        action1.addAttribute("endAngle", "360");
        action1.addAttribute("fillColor", "CCCCCC,111111");
        action1.addAttribute("fillPattern", "linear");
        action1.addAttribute("fillAlpha", "100,100");
        action1.addAttribute("fillRatio", "69,69");
        action1.addAttribute("fillAngle", "-45");
       
        Element  action2 = groupEle.addElement("annotation");
        action2.addAttribute("type", "circle");
        action2.addAttribute("xPos", "10");
        action2.addAttribute("yPos", "10");
        action2.addAttribute("radius", "100");
        action2.addAttribute("startAngle", "0");
        action2.addAttribute("endAngle", "360");
        action2.addAttribute("color", "666666");
       
        Element  action3 = groupEle.addElement("annotation");
        action3.addAttribute("type", "text");
        action3.addAttribute("label", name);
        action3.addAttribute("xPos", "10");
        action3.addAttribute("yPos", "70");
        action3.addAttribute("fontColor", "FFFFFF");
        action3.addAttribute("fontSize", "12");
        action3.addAttribute("isBold", "1");
       
    
        String filePath="";//绝对路径
String webPath="xml/rz1.xml";//动态文件名 相对

       

try {
filePath = Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath();
filePath =filePath.replace("WEB-INF/classes/", "");
filePath += webPath;
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
        //将document中的内容写入文件中
        try {
            Writer out = new FileWriter(filePath);
            //格式化输出,类型IE浏览一样
            OutputFormat format = OutputFormat.createPrettyPrint();
            //OutputFormat format = OutputFormat.createCompactFormat();
            format.setEncoding("gbk");
//创建写出对象
            XMLWriter writer = new XMLWriter(out,format);
            writer.write(doc);
            writer.close();
          
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("失败了。");
        }
    }
分享到:
评论

相关推荐

    Dom4J生成XML的完整方法希望大家能用到

    ### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库...

    dom4j解析xml文件的压缩包

    为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...

    dom4j解析及生成 xml代码收集

    压缩包中的`dom4j生成xml文件.txt`可能包含了使用DOM4J生成XML文件的代码片段。通常,这会包括创建`Document`对象,添加元素,设置属性,以及将文档写入文件的相关步骤。实际代码可能如下: ```java import org....

    java dom4j中生成xml文件

    在DOM4J中生成XML文件主要涉及以下几个关键概念和步骤: 1. **Document对象**:这是DOM4J的核心,表示整个XML文档。你可以通过`DocumentFactory`创建一个空的`Document`对象,然后添加元素、属性等。 2. **Element...

    dom4J生成xml、解析xml、生成xml文件实例

    **dom4J生成和解析XML文件** DOM4J是一个强大的Java XML API,它不仅提供了DOM、SAX和JDOM等接口的实现,还提供了一种更简单、更灵活的方式来处理XML文档。这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML...

    通过Dom4j创建和读取xml文件下载

    在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了一套强大的API来创建、解析和操作XML文档。...通过运行`Dom4jTest.java`,我们可以确保DOM4J的实现与预期一致,从而在实际项目中安全地使用DOM4J处理XML文件。

    dom4j解析xml详解

    - **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...

    使用Maven管理项目,实现DOM4j操作XML文件

    2. **创建XML文件**:使用DOM4j创建一个新的XML文件,这通常涉及到`Document`、`Element`和`Writer`的使用。例如,你可以创建一个包含根元素和子元素的XML文件。 3. **动态创建XML节点**:在已有的XML文档中动态...

    使用DOM4J对XML文件操作-添加、修改、删除、获取元素节点

    DOM4J是一个强大的Java库,专门用于处理...无论你是进行数据交换、配置文件管理还是XML数据的解析和生成,DOM4J都能提供高效而便捷的解决方案。通过学习和熟练掌握DOM4J,开发者可以更好地驾驭XML世界,提高工作效率。

    使用Fusion Charts制作报表(dom4j生成XML)

    这篇博客"使用Fusion Charts制作报表(dom4j生成XML)"主要介绍了如何利用Fusion Charts结合DOM4J库来生成XML数据,从而创建动态报表。 首先,我们需要理解Fusion Charts的核心概念。Fusion Charts提供了一系列预定...

    dom4j生成XML文档及解析

    【DOM4J生成XML文档及解析】 DOM4J是一个Java库,它提供了处理XML文档的强大功能,包括创建、修改和查询XML。在这个场景中,我们将深入理解如何使用DOM4J来生成XML文档以及如何解析XML内容。 首先,生成XML文档...

    生成、解析xml的四种方式(dom,dom4j,sax,jdom)

    本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...

    使用dom4j创建一个xml文件刘宝宝版

    **使用DOM4J创建XML文件刘宝宝版** 在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了丰富的API来操作XML文档,包括创建、解析、修改和查询XML。下面我们将详细介绍如何使用DOM4J来创建一个XML文件。 首先...

    java dom4j解析xml

    - 对于大型XML文件,使用SAX解析器可以降低内存消耗,而DOM4J的事件驱动模式使得处理大型文件成为可能。 - 适当使用缓存和池化技术可以提高DOM4J的性能。 - 对于频繁的读取操作,可以考虑使用XPath来减少遍历操作...

    dom4j解析xml,利用反射机制

    在这个项目中,我们利用DOM4J来解析XML文件,并通过Java的反射机制将解析出的信息存储到特定的类中。 首先,我们需要了解XML的基本概念。XML(Extensible Markup Language)是一种标记语言,常用于数据交换和结构化...

    Dom4j解析和生成XML文档

    DOM4J生成XML文档: 生成XML文档时,DOM4J允许我们通过创建`Element`、`Attribute`等对象,构建一个内存中的XML结构,然后将其转换为XML字符串或写入文件。 1. 创建`Document`对象:`Document document = ...

    读取XML文件的四种方法

    使用DOM4J方法读取XML文件,需要创建SAXReader对象,读取XML文件得到Document对象,然后使用Element对象的elementIterator方法获取指定标签的迭代器,遍历迭代器进行数据提取。 优点:DOM4J方法提供了高效的XML解析...

Global site tag (gtag.js) - Google Analytics