导航:首页 > 编程语言 > java生成xmldom4j

java生成xmldom4j

发布时间:2022-07-13 20:10:54

⑴ 如何用java生成一个xml文件

一个XML文档,可以先构造一个DOM,然后将DOM转化为xml序列,输出或者生成文件。package test;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class Test {

public static void generate(){
try {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();
document.setXmlVersion("1.0");
document.setXmlStandalone(true);

Element root = document.createElement_x("MobileNet"); //创建根节点
document.appendChild(root); //将根节点添加到Document对象中

Element pageElement = document.createElement_x("page"); //设置第一个page元素到
pageElement.setAttribute("name", "list.jsp"); //设置page节点的name属性

Element methodElement = document.createElement_x("method"); //设置method节点
methodElement.setTextContent("get"); //给method设置值
pageElement.appendChild(methodElement); //添加method节点到page节点内

Element displayElement = document.createElement_x("display"); //设置method节点
displayElement.setTextContent("list撒旦发放"); //给display设置值
pageElement.appendChild(displayElement); //添加display节点到page节点内

Element request_paramElement = document.createElement_x("request_param");
request_paramElement.setTextContent("request_param1|request_param2");
pageElement.appendChild(request_paramElement);

root.appendChild(pageElement);
pageElement = document.createElement_x("page"); //设置第二个page元素到
pageElement.setAttribute("name", "content.jsp"); //设置page节点的name属性

methodElement = document.createElement_x("method");
methodElement.setTextContent("post");

pageElement.appendChild(methodElement);
displayElement = document.createElement_x("display");
displayElement.setTextContent("content");

pageElement.appendChild(displayElement);

Element url_titleElement = document.createElement_x("url_title"); //设置url_title节点
url_titleElement.setTextContent("title,publisher,published_calendar"); //给url_title设置值
pageElement.appendChild(url_titleElement); //添加url_title节点到page节点内

root.appendChild(pageElement); //将page段加人根节点内

TransformerFactory transFactory = TransformerFactory.newInstance(); //开始把Document映射到文件
Transformer transFormer = transFactory.newTransformer();

DOMSource domSource = new DOMSource(document); //设置输出结果

File file = new File("MobileNetRule.xml"); //生成xml文件

if (!file.exists()) {
file.createNewFile();
}

FileOutputStream out = new FileOutputStream(file); //文件输出流
StreamResult xmlResult = new StreamResult(out); //设置输入源

transFormer.transform(domSource, xmlResult); //输出xml文件
System.out.println(file.getAbsolutePath()); //测试文件输出的路径

TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("{/encoding/}","GB2312/");
ByteArrayOutputStream boc = new ByteArrayOutputStream();
t.transform(new DOMSource(document), new StreamResult(boc));
String xmlstring = boc.toString();
System.out.println(xmlstring);

} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
Test.generate();

}
}

⑵ 怎么使用java导出大数据为xml文件

packagecom.test.xml;

importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.Writer;
importorg.dom4j.Document;
importorg.dom4j.DocumentHelper;
importorg.dom4j.Element;
importorg.dom4j.io.OutputFormat;
importorg.dom4j.io.XMLWriter;
publicclassDom4JXML{

publicvoidcreateXML(){
//用工厂类创建一个document实例
Documentdoc=DocumentHelper.createDocument();
//创建根元素emps
ElementrootEle=doc.addElement("emps");
//添加注释
rootEle.addComment("这是一个dom4j生成的xml文件");
//emps根节点下创建一个emp节点
ElementempEle=rootEle.addElement("emp");
//emp添加属性id="1"
empEle.addAttribute("id","1");
//emp节点下创建一个name节点
ElementnameEle=empEle.addElement("name");
//name节点下创建一个文本节点zhangsan
nameEle.setText("zhangsan");
//再为name节点创建一个兄弟节点
ElementsexEle=empEle.addElement("sex");
sexEle.setText("man");
//将document中的内容写入文件中
try{
Writerout=newFileWriter("F:\emps.xml");
//格式化输出,类型IE浏览一样
OutputFormatformat=OutputFormat.createPrettyPrint();
//OutputFormatformat=OutputFormat.createCompactFormat();
format.setEncoding("UTF-8");
//创建写出对象
XMLWriterwriter=newXMLWriter(out,format);
writer.write(doc);
writer.close();
System.out.println("生成emps.xml成功。");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
System.out.println("失败了。");
}
}

publicstaticvoidmain(String[]args){
newDom4JXML().createXML();
}
}
packagecom.test.xml;
importorg.xml.sax.Attributes;
importorg.xml.sax.SAXException;
importorg.xml.sax.helpers.DefaultHandler;
{
publicvoidstartDocument()throwsSAXException{
System.out.println("起始文挡");
}
publicvoidendDocument()throwsSAXException{
System.out.println("结束文挡");
}
publicvoidcharacters(char[]ch,intstart,intlength)throwsSAXException{
StringcharString=newString(ch,start,length);
System.out.println("字符:"+charString);
}
publicvoidstartElement(StringnamespaceURI,StringlocalName,StringqName,Attributesatts)throwsSAXException{
System.out.println("起始元素:"+qName);
for(inti=0;i<atts.getLength();i++){
System.out.println("属性值:"+atts.getValue(i));
}
}
publicvoidendElement(StringnamespaceURI,StringlocalName,StringqName)throwsSAXException{
System.out.println("结束元素:"+qName);
}
}

packagecom.test.xml;

importjavax.xml.parsers.SAXParser;
importjavax.xml.parsers.SAXParserFactory;

publicclassBooks{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args)throwsException{
//TODO自动生成方法存根
SAXParserFactoryfactory=SAXParserFactory.newInstance();
SAXParserparser=factory.newSAXParser();
parser.parse("booksamp.xml",newSAXParseHandler());

}
}

⑶ java dom4j生成有前缀节点的 xml,节点类似soapenv:Envelope模样

soapenv:Envelope
可以当作一个节点的名字。。。。。。

⑷ dom4j创建xml文档

dom4j 的 XMLWriter 现在还不支持standalone, 你可以重写(override)其 writeDeclaration 方法:

public class StandaloneWriter extends XMLWriter {
protected void writeDeclaration() throws IOException {
OutputFormat format = getOutputFormat();
String encoding = format.getEncoding();
if (!format.isSuppressDeclaration()) {
writer.write("<?xml version=\"1.0\"");
if (!format.isOmitEncoding()) {
if (encoding.equals("UTF8"))
writer.write(" encoding=\"UTF-8\"");
else
writer.write(" encoding=\"" + encoding + "\"");
}
writer.write(" standalone=\"true\"");
writer.write("?>");
if (format.isNewLineAfterDeclaration()) { println(); }
}
}
}

⑸ java dom4j生成XML如何配置文档类型doctype

搞定了没。一个方法是 形如:

WriterfileWriter=newFileWriter("");
fileWriter.write("");---1
XMLWriterxmlWriter=newXMLWriter(fileWriter);
xmlWriter.write("")----2

⑹ Java语言:为什么我用dom4j.jar生成xml有方形黑点

生成的xml文件,用记事本打开总是换行符是方形黑色的点,用写字板打开没事。和换行符有关,通常意义上来说windows操作系统中换行符是\r\n,unix、linux操作系统的换行符是\n,dom4j在生成xml进行换行时可能是输出的\n,而不是\r\n,这样的话就会导致在windows操作系统中不能换行或者在应该换行的位置输出一个方块这真心不影响使用,不用做任何改进,如果觉得不美观,用editplus打开,不使用记事本打开就行了

⑺ java dom4j生成xml字符串是怎么设置编码

/** 将document中的内容写入文件中 */
OutputFormat outputFormat = new OutputFormat();
outputFormat.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)),outputFormat);
writer.write(document);
writer.close();
/** 执行成功,需返回1 */
returnValue = 1;

阅读全文

与java生成xmldom4j相关的资料

热点内容
awss3命令 浏览:356
百度店铺客户订单手机加密 浏览:500
钉钉班群文件夹怎么上传文件 浏览:749
人社app怎么解绑手机 浏览:101
caj文件夹打不开 浏览:475
什么app可以将电量变色 浏览:692
解放出你的解压抖音小游戏 浏览:346
什么方式解压比较好 浏览:266
erp是什么服务器 浏览:185
python中tmp 浏览:24
说明wpf加密过程 浏览:145
java读取list 浏览:703
iis7gzip压缩 浏览:40
有什么安卓机打吃鸡好 浏览:598
三星u盘加密狗 浏览:474
php函数的返回值吗 浏览:588
国企稳定程序员 浏览:328
编程猫如何使用教程视频 浏览:221
安卓远端网页如何打日志 浏览:218
压缩flash大小 浏览:993