问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

java如何向xml文件写入内容?46

提问网友 发布时间:2023-10-20 05:57
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
热心网友 回答时间:2024-05-16 22:58

我以前学dom解析的时候写了一个小例子,你参考参考

package com.lhx.test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;


public class Test {
public static void main(String[] args) {
DocumentBuilderFactory  fct=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder bui=fct.newDocumentBuilder();
Document doc=bui.newDocument();
Element ps=doc.createElement("persons");
Element p1=doc.createElement("person");
Element p2=doc.createElement("person");
Attr id1=doc.createAttribute("id");
Attr id2=doc.createAttribute("id");
id1.setNodeValue("1");
id2.setNodeValue("2");
Element name1=doc.createElement("name");
Text na1=doc.createTextNode("龙大哥");
Element name2=doc.createElement("name");
Text na2=doc.createTextNode("龙大爷");
Element sex1=doc.createElement("sex");
Text se1=doc.createTextNode("帅哥");
Element sex2=doc.createElement("sex");
Text se2=doc.createTextNode("妹子");

doc.appendChild(ps);
ps.appendChild(p1);
p1.appendChild(name1);
p1.setAttributeNode(id1);
name1.appendChild(na1);
p1.appendChild(sex1);
sex1.appendChild(se1);
ps.appendChild(p2);
p2.appendChild(name2);
p2.setAttributeNode(id2);
name2.appendChild(na2);
p2.appendChild(sex2);
sex2.appendChild(se2);
try {
FileOutputStream fos=new FileOutputStream(new File("E:/longdada.xml"));

try {
((org.apache.crimson.tree.XmlDocument)doc)
.write(fos);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fos.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}





} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

附图:

这个例子有文本节点的创建,属性的创建等等,基本上可以解决绝大多数XML内容了。无论你想创建什么类型的XML,可以套用里面的方法。

另外,注意:文件通过流创建的时候用到一个类,需要一个jar,这个类我已经用完整形式写出来了,你去网上下载下来,添加进工程即可。



弱国觉得可行,望采纳^_^

热心网友 回答时间:2024-05-16 22:58
解析(也就是读取)的话,可以采用SAX解析,或者DOM4J (dom for java)解析,写入的话,可以采用dom写入,SAX和DOM4J都是Apache的开源项目,你可以从官网上搜到相关的Jar包,导入的Eclipse即可使用,至于代码示例的话,百度谷歌一下,栗子很多,希望能帮到你。

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

给《赫尔墨斯和雕像者.》续个结尾(150字以上)152 发好的馒头蒸发趴了什么原因 馒头蒸出来是死的,是什么原因引起的呢?6 全军十字弩怎么用 最实用十字弩使用技巧分11 如何解决Excel打开时总是出现stdole32.tlb的提...28 昆明站到长水机场需要多久?2 打开Excel出现stdole2.tlb是怎么回事1 力浦净水器的水可以直接喝嘛? 在工作中如何发挥团队精神?21 给《赫尔墨斯和雕像者》续个结尾172 昆明火车站到长水机场应该怎么坐地铁?33 浙江新昌有哪些制药厂12 浙江杭州有哪些制药厂 浙江有哪些知名的制药厂23 句中分号的作用是什么64 句中分号的作用是什么64 有一集,柯南和小兰他们去参加化妆舞会,最后服部扮成啦新一,柯南扮成啦... 物种灭绝速度在发生怎样的变化?它会对人类造成影响吗? 人类如果强行灭绝地球上一个物种,会引起什么后果吗?3354 为什么深圳会吸引这么多人?2 物种灭绝对人类有什么影响15 雷军考过几次大学? 给《赫尔墨斯和雕像者》续写个结尾,不少于300字275 我弟只看NBA,怎样才能让他体会足球的魅力呢? 足球为什么那么吸引人10 足球的吸引力为什么比篮球的吸引力差?3 殷世航怎样用四年时间赚够收购vkke的钱的?7 ...单位变动成本600元/台。请计算其盈亏平衡点。 我想开个烤猪蹄,去九龙天香学烤猪蹄配方怎么样?5 网红殷世航真实身高是多少?24 请问这棵幸福树怎么了? 叶子和树枝都有点发软了,掉叶子掉的很...9 柯南中,新一和毛利小五郎都被邀请到一个船上参加化装舞会,服部... 杭州市什么时候开始热,热多久,什么时候开始冷,能多久40 昆明站到机场地铁几号线23 启云时代的设备管理系统怎么样?1 启云时代的设备管理系统怎么样?1 浙江台州有什么制药厂吗3 昆明站至长水机场的地铁怎么走1 浙江有什么比较好的药厂吗 ?1 浙江嵊州有几家制药厂2
Top