ホームページ > Java > &#&チュートリアル > Java で XML 文字列を美しくするにはどうすればよいですか?

Java で XML 文字列を美しくするにはどうすればよいですか?

DDD
リリース: 2024-12-21 17:01:10
オリジナル
1003 人が閲覧しました

How Can I Beautify XML Strings in Java?

Java での XML の美化

質問:

読みやすさと書式設定を強化するにはどうすればよいですか文字列として保存された XML のJava?

はじめに:

XML (Extensible Markup Language) には適切なインデントや改行が欠けていることが多く、読みにくく解釈しにくくなっています。 XML をフォーマットすると、読みやすさが向上し、移動や理解が容易になります。

コード ソリューション:

Java API を利用して、XML 文字列をフォーマットして、よりわかりやすくすることができます。読み取り可能:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerException;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.stream.StreamResult;

import javax.xml.transform.stream.StreamSource;

 

public class XmlBeautifier {

 

    public static String formatXml(String unformattedXml) {

        try {

            // Create a transformer to modify the XML

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

 

            // Set indenting and indentation amount

            transformer.setOutputProperty(OutputKeys.INDENT, "yes");

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

 

            // Convert the XML string to a DOM source

            DOMSource source = new DOMSource(new DocumentBuilder().parse(new InputSource(new StringReader(unformattedXml))));

 

            // Format the XML and store the result in a string

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

            transformer.transform(source, result);

            return result.getWriter().toString();

        } catch (TransformerException | ParserConfigurationException | SAXException e) {

            // Handle any exceptions

            throw new RuntimeException(e);

        }

    }

 

}

ログイン後にコピー

使用法例:

1

2

String unformattedXml = "<tag><nested>hello</nested></tag>";

String formattedXml = XmlBeautifier.formatXml(unformattedXml);

ログイン後にコピー

出力例:

1

2

3

4

5

6

<?xml version="1.0" encoding="UTF-8"?>

<root>

  <tag>

    <nested>hello</nested>

  </tag>

</root>

ログイン後にコピー

注:

  • このアプローチは XSLT を利用しますXML を処理するための (拡張可能なスタイルシート言語変換)
  • 出力の書式設定は、Java のバージョンと使用される特定の XML 解析ライブラリによって若干異なる場合があります。
  • XMLSpy や Oxygen XML Editor などの代替ライブラリは、包括的な XML 書式設定機能を提供します。

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

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