Java で XML を美しく印刷する
フォーマットされていない XML を含む Java 文字列が与えられた場合、目的は、それを適切に構造化された XML 文字列に変換することです。適切な改行とインデント。
解決策:
トランスフォーマーをインスタンス化します:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
出力の設定プロパティ:
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
出力用の StreamResult の作成:
StreamResult result = new StreamResult(new StringWriter());
入力用の DOMSource を作成する文字列:
DOMSource source = new DOMSource(doc);
ソースから結果への変換:
transformer.transform(source, result);
取得フォーマットされたXML文字列:
String xmlString = result.getWriter().toString();
コード例:
String unformattedXml = ""; Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); StreamResult result = new StreamResult(new StringWriter()); DOMSource source = new DOMSource(doc); transformer.transform(source, result); String formattedXml = result.getWriter().toString(); System.out.println(formattedXml); hello
注: 特定の結果は、使用する Java バージョンによって異なります。特定のプラットフォームに対応するには、変更が必要になる場合があります。
以上がXSLT を使用して Java で XML をきれいに印刷する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。