问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么利用一个dom对象生成一个xml文件

发布网友 发布时间:2022-04-22 23:58

我来回答

2个回答

热心网友 时间:2022-04-14 00:03

一个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();

}
}

热心网友 时间:2022-04-14 01:21

如下所示:public void transformDomToXml(Document document,String FileName)
{
try{
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(FileName));
transformer.transform(source,result);
}catch (TransformerConfigurationException tce) {
System.out.println(" " + tce.getMessage() );
}catch (TransformerException te) {
System.out.println(" " + te.getMessage() );
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小白开始做牛腩烧番茄前,应该做哪些准备? 普洱茶不管是纯料还是拼配它本身就很有意思 普洱茶的纯料VS拼配,谁更值得珍藏? 为什么我们听到熟悉的歌曲的音乐会感觉在唱歌词呢? abs制动防抱死系统什么时候用到 请问有谁知道离朝阳北路的煊特嘉园(炫特区)最近的浩沙健身俱乐部在哪 ... 朝阳北苑郊野公园有哪些 北苑哪些公园 北京北苑健身有哪些 王者荣耀黄忠开大怎么转圈 抖音运营有什么技巧策略? 如何通过DOM对象,来解析xml import xml.dom.minidom dom = xml.dom.minidom.parse('abc.xml') 求问哪里错了呀,着急,谢谢!python3 你知道抖音计划吗? 请教这个xml文件的dom解析如何写 关于XML接口DOM的描述,错误的是:() 我快崩溃了,在抖音游戏推行人计划里发布了好多个作品,为什么一点播放量都没有? xmldom,xmlparser怎么安装 “抖音创作者成长计划”怎么帮助千万创作者实现内容变现? dom解析xml文档的步骤 参加抖音中视频计划作品能不能dou加热? 如何加载 XMLDOM 组件 抖音发行人计划,收益更新时间,为什么我的收益一直没更新。 Python xml.dom.minidom保存时出错 发抖音中视频计划为什么抖音看不到自己的作品 你好,华为mate30pro打字声音怎么设置? 新手使用android的XML(DOM)解析问题,指定路径XML如何读取 抖音游戏发行人计划怎么挂链接 XML DOM 读取本地xml文件,在ie不能运行,在火狐可以运行,怎么回事?_百... 抖音定向计划可以设置开始时间吗 抖音游戏发行人计划,用苹果手机录好视频剪辑好发布后,不能直接看到挂的... oracle中xmldom.getelementsbytagname()使用问题 Server.CreateObject("Microsoft.XMLDOM")和new ActiveXObject("Microsoft.XMLDOM")创建对象的区别? 抖音新番计划怎么报名 请问缺少对象: 'xml_dom.getelementsbytagname(...).item(...)' asp 这个是什么情况? asp中 xmlDom.getElementsByTagName("item")(0).childNodes(0).text 华为mate20到底是不是曲面屏?我怎么感觉它的屏幕看起来和OPPO Find X... 成都保单信用贷款的贷款额度一般是多少? mate20是直屏还是曲面屏 成都保单信用贷款一般可以贷多少款? mate20为什么不建议买? mate20曲面屏两侧有轻微泛绿正常吗 我的保险交了2年4个保单25000能贷款多少钱? 华为mate20和p20pro哪个比较好用? 保单现金价值一万六能贷多少 华为mate20和华为mate20pro有什么区别? 华为mate20手机背面弧度多少? 梦见抱着小猫什么意思 梦见自己抱着一只猫是什么意思? 梦见自己抱着白色的小猫,很是不解,请告诉我答案!