希望生成的是如下效果:
<users>
<!--the xml document about some login system information of users-->
<user id="1">
<username>yy</username>
<password>1234
5678</password>
</user>
</users>但每次都是该效果:
<users>
<!--the xml document about some login system information of users-->
<user id="1">
<username>yy</username>
<password>12345678</password>
</user>
</users>附上源码,如下:
/*
* Main.java
*
* Created on 2008年9月18日, 下午11:28
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/package test;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
*
* @author Administrator
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Main user = new Main();
//user.newXML();
user.newXML();
}
public void newXML(){
/**
* users.xml
*/
Document doc = DocumentHelper.createDocument(); //users.xml
/**
* 根元素 users
*/
Element users = doc.addElement("users"); //根元素 users
doc.setRootElement(users);
users.addComment("the xml document about some login system information of users");
/**
* 根元素 users 下的子元素 user
*/
Element user = users.addElement("user"); // 新增 users 的一个子元素 user
user.addAttribute("id","1"); //增加user的一个属性,并设置此属性值
Element username = user.addElement("username"); // 新增 user 元素的子元素 username
username.setText("yy"); //设置 username 的值
Element password = user.addElement("password"); // 新增 user 元素的子元素 password
String crlf=System.getProperty("line.separator");
password.setText("1234"+crlf+"5678"); //设置 password 的值
/**
* 通过 org.dom4j.io.OutputFormat 来设置XML文档输出格式
*/
OutputFormat format = OutputFormat.createPrettyPrint(); //设置XML文档输出格式
format.setEncoding("GB2312"); //设置XML文档的编码类型
// format.setSuppressDeclaration(true);
// format.setIndent(true); //设置是否缩进
// format.setIndent(" "); //以空格方式实现缩进
// format.setNewlines(true); //设置是否换行
/**
* 通过 org.dom4j.io.XMLWriter 创建XML文档(写)
*/
try {
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File("a.xml")),format);
xmlWriter.write(users);
xmlWriter.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
求高人解,急!
<users>
<!--the xml document about some login system information of users-->
<user id="1">
<username>yy</username>
<password>1234
5678</password>
</user>
</users>但每次都是该效果:
<users>
<!--the xml document about some login system information of users-->
<user id="1">
<username>yy</username>
<password>12345678</password>
</user>
</users>附上源码,如下:
/*
* Main.java
*
* Created on 2008年9月18日, 下午11:28
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/package test;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
*
* @author Administrator
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Main user = new Main();
//user.newXML();
user.newXML();
}
public void newXML(){
/**
* users.xml
*/
Document doc = DocumentHelper.createDocument(); //users.xml
/**
* 根元素 users
*/
Element users = doc.addElement("users"); //根元素 users
doc.setRootElement(users);
users.addComment("the xml document about some login system information of users");
/**
* 根元素 users 下的子元素 user
*/
Element user = users.addElement("user"); // 新增 users 的一个子元素 user
user.addAttribute("id","1"); //增加user的一个属性,并设置此属性值
Element username = user.addElement("username"); // 新增 user 元素的子元素 username
username.setText("yy"); //设置 username 的值
Element password = user.addElement("password"); // 新增 user 元素的子元素 password
String crlf=System.getProperty("line.separator");
password.setText("1234"+crlf+"5678"); //设置 password 的值
/**
* 通过 org.dom4j.io.OutputFormat 来设置XML文档输出格式
*/
OutputFormat format = OutputFormat.createPrettyPrint(); //设置XML文档输出格式
format.setEncoding("GB2312"); //设置XML文档的编码类型
// format.setSuppressDeclaration(true);
// format.setIndent(true); //设置是否缩进
// format.setIndent(" "); //以空格方式实现缩进
// format.setNewlines(true); //设置是否换行
/**
* 通过 org.dom4j.io.XMLWriter 创建XML文档(写)
*/
try {
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File("a.xml")),format);
xmlWriter.write(users);
xmlWriter.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
求高人解,急!
crlf换成"\n\r"试试
你为什么一定要放个回车在节点里呢?有什么特别的意义吗?
可不可以放个特别的占位符呢.如"@_@br@_@".呵呵.瞎想的.
另外XML似乎还支持"<[!CDATA[]]>"具体怎么写,我忘记了,
你查下,这个可能能保存回车.
我想在其中放入JAVA的代码,每一行JAVA代码如果不回车分行的话,看起来太不美观了,哈哈
writer.setEscapeText(false);