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的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库...
为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...
压缩包中的`dom4j生成xml文件.txt`可能包含了使用DOM4J生成XML文件的代码片段。通常,这会包括创建`Document`对象,添加元素,设置属性,以及将文档写入文件的相关步骤。实际代码可能如下: ```java import org....
在DOM4J中生成XML文件主要涉及以下几个关键概念和步骤: 1. **Document对象**:这是DOM4J的核心,表示整个XML文档。你可以通过`DocumentFactory`创建一个空的`Document`对象,然后添加元素、属性等。 2. **Element...
**dom4J生成和解析XML文件** DOM4J是一个强大的Java XML API,它不仅提供了DOM、SAX和JDOM等接口的实现,还提供了一种更简单、更灵活的方式来处理XML文档。这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML...
在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了一套强大的API来创建、解析和操作XML文档。...通过运行`Dom4jTest.java`,我们可以确保DOM4J的实现与预期一致,从而在实际项目中安全地使用DOM4J处理XML文件。
- **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...
2. **创建XML文件**:使用DOM4j创建一个新的XML文件,这通常涉及到`Document`、`Element`和`Writer`的使用。例如,你可以创建一个包含根元素和子元素的XML文件。 3. **动态创建XML节点**:在已有的XML文档中动态...
DOM4J是一个强大的Java库,专门用于处理...无论你是进行数据交换、配置文件管理还是XML数据的解析和生成,DOM4J都能提供高效而便捷的解决方案。通过学习和熟练掌握DOM4J,开发者可以更好地驾驭XML世界,提高工作效率。
这篇博客"使用Fusion Charts制作报表(dom4j生成XML)"主要介绍了如何利用Fusion Charts结合DOM4J库来生成XML数据,从而创建动态报表。 首先,我们需要理解Fusion Charts的核心概念。Fusion Charts提供了一系列预定...
【DOM4J生成XML文档及解析】 DOM4J是一个Java库,它提供了处理XML文档的强大功能,包括创建、修改和查询XML。在这个场景中,我们将深入理解如何使用DOM4J来生成XML文档以及如何解析XML内容。 首先,生成XML文档...
本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...
**使用DOM4J创建XML文件刘宝宝版** 在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了丰富的API来操作XML文档,包括创建、解析、修改和查询XML。下面我们将详细介绍如何使用DOM4J来创建一个XML文件。 首先...
- 对于大型XML文件,使用SAX解析器可以降低内存消耗,而DOM4J的事件驱动模式使得处理大型文件成为可能。 - 适当使用缓存和池化技术可以提高DOM4J的性能。 - 对于频繁的读取操作,可以考虑使用XPath来减少遍历操作...
在这个项目中,我们利用DOM4J来解析XML文件,并通过Java的反射机制将解析出的信息存储到特定的类中。 首先,我们需要了解XML的基本概念。XML(Extensible Markup Language)是一种标记语言,常用于数据交换和结构化...
DOM4J生成XML文档: 生成XML文档时,DOM4J允许我们通过创建`Element`、`Attribute`等对象,构建一个内存中的XML结构,然后将其转换为XML字符串或写入文件。 1. 创建`Document`对象:`Document document = ...
使用DOM4J方法读取XML文件,需要创建SAXReader对象,读取XML文件得到Document对象,然后使用Element对象的elementIterator方法获取指定标签的迭代器,遍历迭代器进行数据提取。 优点:DOM4J方法提供了高效的XML解析...