7.java⽣成XML Java⽣成XML
步骤:
1. 通过⽂档帮助器 (DocumentHelper) , 创建空的⽂档对象
Document doc = ateDocument();
2. 通过⽂档对象, 向其中添加根节点
Element root = doc.addElement("根节点名称");
3. 通过根节点对象root , 丰富我们的⼦节点
Element e = root.addElement("元素名称");
4. 创建⼀个⽂件输出流 ,⽤于存储XML⽂件
FileOutputStream fos = new FileOutputStream("要存储的位置");
5. 将⽂件输出流, 转换为XML⽂档输出流
XMLWriter xw = new XMLWriter(fos);
6. 写出⽂档 xw.write(doc);
7. 释放资源 xw.close();
java⽣成xml⽂档
导⼊dom4j-1.6.1.jar
需要⾃⼰将对象搭建成dom树(搭建各个节点和赋值)
下⼀节使⽤xstream-1.3.1.jar⾃动⽣成dom树
import org.dom4j.Comment;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* java⽣成xml⽂档
* 需要⾃⼰将对象搭建成dom树(搭建各个节点和赋值)
* 下⼀节使⽤xstream-1.3.1.jar⾃动⽣成dom树
*/
public class MainXML5 {
public static void main(String[] args) throws IOException {
//1.通过⽂档帮助器,创建⼀个⽂档对象
Document doc = ateDocument();
//2.给⽂档对象(dom树)添加第⼀个节点(根节点)
Element books = doc.addElement("books");
//3.通过根节点,丰富⼦节点
// 创建100个book⼦节点,每个⼦节点⼜包含name和info两个⼦节点 for (int i = 0; i < 100; i++) {
Element book = books.addElement("book");//添加books⼦节点 book.addAttribute("id",100+i+"");//设置属性
Element name = book.addElement("name");//添加book⼦节点
name.setText(i+"⽃罗⼤陆");
Element info = book.addElement("info");
info.setText("每周更新第"+i+"集");
}
//4.将写好的xml⽂档写⼊到本地⽂件
//4.1.创建⼀个指向xml的⽂件输出流(即封装路径并创建⽂件)
FileOutputStream fos = new FileOutputStream("l");
//4.2.将⽂件输出流转成(装饰)xml输出流
XMLWriter xw = new XMLWriter(fos);
使用dom4j解析xml文件//4.3.写出⽂档
xw.write(doc);
//5.释放资源
xw.close();
System.out.println("执⾏完毕");
}
}
12.XStream⽣成XML⽂档
导⼊xstream-1.3.1.jar
将java对象转换成XML字符串
import com.thoughtworks.xstream.XStream;
import java.util.Objects;
public class MainXML6 {
public static void main(String[] args) {
Person p = new Person();
p.setName("张三");
p.setAge(19);
//若从数据库拿到p对象,现在要发给⽤户,需要将对象转成json/xml
//下⾯是将对象转成xml(java⽣成xml)格式
//使⽤XStream将对象转成xml⽂档,⾃动⽣成dom树(直接传进对象即可)
//XStream使⽤
/
/1.创建XStream对象
XStream xStream = new XStream();
//2.修改某个类型⽣成的节点(默认⽣成的是全名:包名+类名)
// 把类型Person.class修改成person节点
// 这样对象的的外层节点就是person
xStream.alias("person",Person.class);
//3.传⼊对象,开始⽣成dom树(xml⽂档)
String xml = XML(p);
System.out.println(xml);
}
static class Person{
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public Person() {
}
public String getName() {
return name;
}
public void setName(String name) {
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false; Person pereson = (Person) o;
return age == pereson.age &&
Objects.equals(name, pereson.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论