ホームページ >Java >&#&チュートリアル >Java で非構造化 XML 文字列をフォーマットするにはどうすればよいですか?

Java で非構造化 XML 文字列をフォーマットするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 13:43:11832ブラウズ

How to Format Unstructured XML Strings in Java?

Java での非構造化 XML 文字列のフォーマット

フォーマットなしで Java 文字列としてエンコードされた XML 文字列があるため、それを変換する必要があります適切なインデントと改行を使用して文字列に変換します。

これを実現するには、次を利用できます。 Java Transformer クラスと OutputKeys および DOMSource クラス。

まず、Transformer クラスの新しいインスタンスを作成します。

Transformer transformer = TransformerFactory.newInstance().newTransformer();

出力にインデントを追加するように Transformer を設定します。

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

次に、StreamResult オブジェクトを初期化して、変換された結果を文字列:

StreamResult result = new StreamResult(new StringWriter());

XML 文字列から DOMSource オブジェクトを作成します:

DOMSource source = new DOMSource(doc);

最後に、Transformer を使用してソース XML を目的の形式の出力に変換します:

transformer.transform(source, result);
String xmlString = result.getWriter().toString();

この変換後、xmlString 変数にはフォーマットされた XML が含まれます。以下に例を示します:

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 xmlString = result.getWriter().toString();
System.out.println(xmlString);

出力:

<?xml version="1.0" encoding="UTF-8"?>
<root>
 <tag>
   <nested>hello</nested>
 </tag>
</root>

以上がJava で非構造化 XML 文字列をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。