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

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

Susan Sarandon
リリース: 2024-12-14 13:43:11
オリジナル
830 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート