Ⅰ 5、通过对象生成XML文件
生成XML文件通过对象进行,运用java中的java.beans.XMLEncoder和java.beans.XMLDecoder类,这是在JDK1.4版本后出现的工具类,实现对象到XML文件的转换。
具体步骤如下:
第一步:实例化XML编码器。初始化一个BufferedOutputStream用于将数据输出到文件中,随后创建XMLEncoder对象,将编码器与输出流关联。
代码如下:
java
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("test.xml")); XMLEncoder xmlEncoder = new XMLEncoder(bos);
第二步:输出对象。使用编码器将对象转化为XML格式并写入文件中。
java
Person person = new Person("张三", 20); // 示例对象
xmlEncoder.writeObject(person);
第三步:关闭。确保资源释放,避免内存泄露。
java
xmlEncoder.close();
其中,Person.java作为示例对象类,可以包含属性和方法用于表示和操作实体数据。
通过以上步骤,成功将Java对象转化为XML文件。此方法在数据交换、配置文件存储等领域具有广泛应用价值。
Ⅱ 如何用java语言生成xml文件,并将它返回
实例:
holen.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<!--This is a test for dom4j, holen, 2004.9.11-->
<book show="yes">
<title>Dom4j Tutorials</title>
</book>
<book show="yes">
<title>Lucene Studing</title>
</book>
<book show="no">
<title>Lucene in Action</title>
</book>
<owner>O'Reilly</owner>
</books>
建立一个XML文档:
/**
* 建立一个XML文档,文档名由输入属性决定
* @param filename 需建立的文件名
* @return 返回操作结果, 0表失败, 1表成功
*/
public int createXMLFile(String filename){
/** 返回操作结果, 0表失败, 1表成功 */
int returnValue = 0;
/** 建立document对象 */
Document document = DocumentHelper.createDocument();
/** 建立XML文档的根books */
Element booksElement = document.addElement("books");
/** 加入一行注释 */
booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");
/** 加入第一个book节点 */
Element bookElement = booksElement.addElement("book");
/** 加入show属性内容 */
bookElement.addAttribute("show","yes");
/** 加入title节点 */
Element titleElement = bookElement.addElement("title");
/** 为title设置内容 */
titleElement.setText("Dom4j Tutorials");
/** 类似的完成后两个book */
bookElement = booksElement.addElement("book");
bookElement.addAttribute("show","yes");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene Studing");
bookElement = booksElement.addElement("book");
bookElement.addAttribute("show","no");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene in Action");
/** 加入owner节点 */
Element ownerElement = booksElement.addElement("owner");
ownerElement.setText("O'Reilly");
try{
/** 将document中的内容写入文件中 */
XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));
writer.write(document);
writer.close();
/** 执行成功,需返回1 */
returnValue = 1;
}catch(Exception ex){
ex.printStackTrace();
}
return returnValue;
}
说明:
Document document = DocumentHelper.createDocument();
通过这句定义一个XML文档对象。
Element booksElement = document.addElement("books");
通过这句定义一个XML元素,这里添加的是根节点。
Element有几个重要的方法:
l addComment:添加注释
l addAttribute:添加属性
l addElement:添加子元素
Ⅲ 使用Java生成XML文件时,如何能让文件自动换行
换行符" ",如是用dom4j之类的jar包操作,dom4j换行如下
/**
*通过org.dom4j.io.OutputFormat来设置XML文档输出格式
*/
OutputFormatformat=OutputFormat.createPrettyPrint();//设置XML文档输出格式
format.setEncoding("GB2312");//设置XML文档的编码类型
format.setSuppressDeclaration(true);
format.setIndent(true);//设置是否缩进
format.setIndent("");//以空格方式实现缩进
format.setNewlines(true);//设置是否换行
Ⅳ 如何用java生成一个XML文件,并且将该文件压缩成ZIP格式后再写到硬盘上
在你声明ZipEntry的时候在name后加上.xml后缀就可以冲核了!!!
实例如下:
public static void main(String[] arg) throws Exception{
String xml;
/*
* 生成你的xml数据,存在String xml中。
*/散拿掘
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("D://test.zip"));
//声明ZipOutputStream,用来输出zip文件。
ZipEntry entry = new ZipEntry("test.xml");
//声明ZipEntry
zipOut.putNextEntry(entry);
//将entry加入到zipOut中。
DataOutputStream dataOs = new DataOutputStream(zipOut);
//利用DataOutputStream对ZipOutputStream进行包装。敏宏
dataOs.writeUTF(gd);
//输出zip文件。
dataOs.close();
}
运行后,在D盘里就有一个test.zip文件,里包含的就是一个test.xml文件了。