2012-04-21 5 views
0

XML文書を取得するためにjdom SAXBuilderを使用します。 私の問題は、返されたドキュメントで、すべての要素の前に行区切り記号( '/ n')が付いていることです。 jdom docsを見て、これがパーサの通常の動作であるようです。 私はそれを避けたいですが、私は方法を見つけることができません。 ヒントをいただければ幸いです。 Flaviojdom sax builderの行の区切り文字を避ける方法

答えて

0

どこに\ n文字が表示されていますか?それらが入力の一部である場合、JDOMは自動的にそれらを保持し、JDOMコンテンツを出力すると、それらは依然として存在します。データの出力方法を変更したい場合は、 'Format'インスタンスを使用して出力フォーマットを変更できます。

出力に\ n文字が含まれないようにするには、Format.getCompactFormat()形式を使用する必要があります。ただし、新しいJDOM 2.0.0を使用している場合、バグがありますgithubのホットフィックスzipを使用する必要があります:https://github.com/downloads/hunterhacker/jdom/jdom-2.x-issue72.zip。 JDOM-2.0.1は公式の修正で来週中にリリースされる予定です。

あなたが入力/解析プロセスの一部として、\ n文字を取り除くしたい場合は、あなたが(サブクラスDefaultJDOMFactory)独自のJDOMFactoryインスタンスを使用することを検討してテキストをトリミングするテキスト(...)メソッドをオーバーライドする必要がありますTextインスタンスを返す前に

XMLをパースした後、ツリー全体をスキャンし、必要に応じて\ n文字を読み取ることができます。

それ以外の場合、JDOMは要求しない限り\ n文字を追加しません。

関連する問題