2013-02-04 45 views
1

我正在使用XMLOutputter類將Document對象的內容寫入xml文件。如何從jdom中刪除空格或空行

但是我面臨着以下問題: 當我刪除任何子節點時,它在Document對象中創建空行,並將其內容保存到xml文件中時,它也在xml文件中顯示空行。

因此,這意味着,如果我執行刪除操作10次,並保存其內容的話,那就在XML文件中10個空行。

我通過了下面的鏈接。這些鏈接建議使用以下API:

  1. http://www.jdom.org/pipermail/jdom-interest/2003-November/013035.html

此鏈接提示:

XMLOutputter fmt = new XMLOutputter(); 
fmt.setTextTrim(true); //this would remove all spaces 
fmt.setIndent(" "); // this will do indentation 
fmt.setNewlines(true); 
  1. http://www.ibm.com/developerworks/xml/tutorials/xmljava/section5.html

    SAXBuilder的SB =新SAXBuilder的();

    文獻DOC = sb.build(新文件(的argv [0]));

    XMLOutputter的XO =新的XMLOutputter();

    xo.setTrimAllWhite(真);

    xo.output(doc,System.out);

有人可以幫我解決這個問題。

在此先感謝!

+0

3.即使API文件還提出了一些API 「setTrimAllWhite」,但似乎現在它已經過時了。 http://jplist.sourceforge.net/javadoc/net/sf/jplist/output/XmlOutputter.html –

+0

eg。 如果我刪除節點那麼結果將是: ------ >>空行 我想將Document對象保存爲不帶空行的xml文件。 –

回答

1

是否要刪除空白/空行,或者你所要的輸出很好地與正確的縮進等進行格式化?

要得到很好的縮進使用'pretty'格式?

xo.setFormat(Format.getPrettyFormat()); 

剝離所有不必要的空白使用Format.getCompactFormat()

rolfl

+1

我從鏈接中找到了相同的答案:http://osdir.com/ml/java.jdom.genera2004-12msg00084.html或者XMLOutputter xmlOutput = new XMLOutputter(Format.getPrettyFormat()); –

+1

其實,你也可以在Javadoc找到答案,就在頂端:http://jdom.org/docs/apidocs/org/jdom2/output/XMLOutputter.html – rolfl

+0

非常感謝.. rolfl :) –