之前碰到这个问题,困扰了我很久没解决.百度了一下很少.所以刚解决就来给大家分享一下
package one; import java.io.FileOutputStream; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class Xml { public static void main(String[] args) { // TODO Auto-generated method stub Document document = DocumentHelper.createDocument(); Element root = document.addElement("EnglishWords"); // root.addComment("This is a test for dom4j "); Element singleWord = root.addElement("EnglishWord"); Element word = singleWord.addElement("word"); Element englishMean = singleWord.addElement("englishMean"); Element chineseMean = singleWord.addElement("chineseMean"); Element attribute = singleWord.addElement("attribute"); Element example = singleWord.addElement("example"); // 添加元素内容 word.addText("1"); attribute.addText("2"); chineseMean.addText("3"); englishMean.addText("4"); example.addText("5"); // 添加属性 // singleWord.addAttribute("code", "1"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); format.setNewLineAfterDeclaration(false); format.setIndent(true); try { String filename = "F:/Users/luxiangyu/Desktop/a.xml"; FileOutputStream out = new FileOutputStream(filename);// XMLWriter writer = new XMLWriter(out, format); document.setXMLEncoding("UTF-8"); writer.write(document); out.close(); } catch (Exception e) { e.printStackTrace(); } } }最关键的就是format.setNewLineAfterDeclaration(false);这句话,因为默认是true,要设置一下改为false
这个方法是设置声明之后换不换行的