ホームページ バックエンド開発 XML/RSS チュートリアル XML 解析の DOM4J 解析のサンプル コード

XML 解析の DOM4J 解析のサンプル コード

Mar 18, 2017 pm 05:00 PM

前書き: 同社の APP は長い間存在しており、以前の インターフェース の結果は XML を介して処理されており、プロジェクト内では全員がさまざまな方法で XML を処理しており、統一された処理方法がありません。はアプリケーションで非常に面倒なので、投稿者はプロジェクトを開発するたびに、自分の時間を節約するために、他の人の XML 解析方法を勉強せず、XML に出会うたびに DOM4J を使用して解析します。

DOM、SAX、JDOMなど、XMLを解析する方法はたくさんあります。使い方や原理については、ここでは詳しく説明しません(追記:投稿者も使い方や原理を知りません) 。この記事ではDOM4Jの簡単な操作と使い方を中心に説明します。

DOM4J の概要

dom4j は Java XML API、jdom のアップグレードであり、XML ファイルの読み取りと書き込みに使用されます。 dom4j は、優れたパフォーマンス、強力な機能、そして非常に使いやすい JavaXML API であり、そのパフォーマンスは Sun 社の公式 dom テクノロジーを上回っており、SourceForge で入手できます。

Dom4j は、XML、XPath、XSLT 用の使いやすいオープンソース ライブラリです。 Java プラットフォームに適用され、Java コレクション フレームワークを採用し、DOM、SAX、および JAXP を完全にサポートします。

DOM4J の使用法を紹介する簡単な例を次に示します。

注: DOM4J を使用して XML を解析するには、DOM4J jar パッケージをプロジェクトに導入する必要があります

XML ファイル

<Response T=&#39;203&#39; T1=&#39;6&#39; TaskID=&#39;20130800001963&#39; MediaNum=&#39;3&#39; Result = &#39;1&#39; Desc=&#39;查询成功!&#39; >
    <Media Name=&#39;IMG_20130425_141838.jpg&#39; Mediasource =&#39;1&#39; Type =&#39;1&#39; Code=&#39;/9j/4AAQSkZJRgABAQA0&#39;>图片1</Media>
    <Media Name=&#39;IMG_20130425_141838.jpg&#39; Mediasource =&#39;2&#39; Type =&#39;1&#39; Code=&#39;/9j/4AAQSkZJRgABAQA0&#39;>图片2</Media>
    <Media Name=&#39;IMG_20130425_141838.jpg&#39; Mediasource =&#39;3&#39; Type =&#39;1&#39; Code=&#39;/9j/4AAQSkZJRgABAQA0&#39;>图片3</Media>
</Response>
ログイン後にコピー

DOM4J の使用法の詳細な説明
ステップ 1: XML ファイルの読み込み

XML の読み込みは 2 つに分けられます主な方法

1、ファイルのパスアドレスを直接ロード

2、文字列xml形式をロード(このメソッドは主にサーバーの戻り結果で使用されます)

1.1、ファイルパスを直接ロード

   SAXReader reader = new SAXReader();
        Document document = null;
        try {
            document = reader.read(new File("E://CZBK//day01//caseUp.xml"));
        } catch (DocumentException e) {
            e.printStackTrace();
        }
ログイン後にコピー

1.2、 xml 形式の文字列を読み込みます

SAXReader reader = new SAXReader();
    Document document = null;
    try {
        //result是需要解析的字符串 
        //解析字符串需要转换成流的形式,可以指定转换字符编码
        document = reader.read(new ByteArrayInputStream(result.getBytes("UTF-8")));
    } catch (DocumentException  e) {
        e.printStackTrace();
    }
ログイン後にコピー

ステップ 2: XML を解析する

XML を解析する前に、まず XML の構造名を理解しておくと、XML を解析するのに非常に役立ちます

ノードとは何ですか?要素とは何ですか? 属性(属性)とは何ですか?テキスト値とは何ですか?

ノード: 「レスポンス」、「メディア」はノードと呼ばれます。

要素: 完全なタグで終わり、要素と呼ばれ、要素の内容全体が含まれます。例: 図 1

属性: ノードの属性値、ノードの内容に説明を追加します。例: T='203' T1='6' TaskID='20130800001963' MediaNum='3' Result = '1' Desc='Query success!'

テキスト値: "Picture 1" をテキスト値と呼びます。

プロジェクトでは、要素、属性、テキスト値を中心に操作するだけなので、これら 3 つの部分の値メソッドをマスターすれば、XML 解析もマスターできます。

2.1. ルートノードを取得します

 //获取整个文档
        Element rootElement = document.getRootElement();
ログイン後にコピー

rootElementには、XML文書全体の内容、つまりResponseタグに含まれるすべての内容が含まれます

2.2. Responseノードの属性値を取得します

 //获取Response节点的Result属性值
        String responseResult = rootElement.attributeValue("Result");
ログイン後にコピー

2.3. Media要素

//获取第一个Media元素
        Element mediaElement = rootElement.element("Media");
        //获取所有的Media元素
        List allMeidaElements = rootElement.elements("Media");
ログイン後にコピー

2.4. Media属性値を取得

 //获取第一个Media元素的Name属性值
        String mediaName = mediaElement.attributeValue("Name");
        //遍历所有的Media元素的Name属性值
        for (int i = 0; i < allMeidaElements.size(); i++) {
            Element element = (Element) allMeidaElements.get(i);
            String name = element.attributeValue("Name");
        }
ログイン後にコピー

2.5. Mediaタグのテキスト値を取得

    //获取第一个Meida元素的文本值
        String value = mediaElement.getText();
ログイン後にコピー

実行結果

1. たくさんあります。 XML の解析方法をそれぞれマスターする必要はありません。性能の違いについては、建物の本体には表示されませんし、この質問に答えることもできません。 2. DOM4J には多数の API がありますが、この記事では最も基本的でよく使用される API のみを紹介しますので、興味があればご自身で調べて使用してください。

以上がXML 解析の DOM4J 解析のサンプル コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PowerPoint を使用して XML ファイルを開くことはできますか? PowerPoint を使用して XML ファイルを開くことはできますか? Feb 19, 2024 pm 09:06 PM

XML ファイルは PPT で開くことができますか? XML、Extensible Markup Language (Extensible Markup Language) は、データ交換とデータ ストレージで広く使用されている汎用マークアップ言語です。 HTML と比較して、XML はより柔軟であり、独自のタグとデータ構造を定義できるため、データの保存と交換がより便利で統一されます。 PPT (PowerPoint) は、プレゼンテーションを作成するために Microsoft によって開発されたソフトウェアです。包括的な方法を提供します。

Python で XML データを CSV 形式に変換する Python で XML データを CSV 形式に変換する Aug 11, 2023 pm 07:41 PM

Python の XML データを CSV 形式に変換する XML (ExtensibleMarkupLanguage) は、データの保存と送信に一般的に使用される拡張可能なマークアップ言語です。 CSV (CommaSeparatedValues) は、データのインポートとエクスポートに一般的に使用されるカンマ区切りのテキスト ファイル形式です。データを処理するとき、分析や処理を容易にするために、XML データを CSV 形式に変換する必要がある場合があります。 Pythonは強力です

Python を使用した XML データのフィルタリングと並べ替え Python を使用した XML データのフィルタリングと並べ替え Aug 07, 2023 pm 04:17 PM

Python を使用した XML データのフィルタリングと並べ替えの実装 はじめに: XML は、データをタグと属性の形式で保存する、一般的に使用されるデータ交換形式です。 XML データを処理するとき、多くの場合、データのフィルタリングと並べ替えが必要になります。 Python には、XML データを処理するための便利なツールとライブラリが多数用意されています。この記事では、Python を使用して XML データをフィルタリングおよび並べ替える方法を紹介します。 XML ファイルの読み取り 始める前に、XML ファイルを読み取る必要があります。 Python には XML 処理ライブラリが多数ありますが、

Python を使用した XML でのエラーと例外の処理 Python を使用した XML でのエラーと例外の処理 Aug 08, 2023 pm 12:25 PM

Python を使用した XML でのエラーと例外の処理 XML は、構造化データの保存と表現に使用される一般的に使用されるデータ形式です。 Python を使用して XML を処理すると、エラーや例外が発生することがあります。この記事では、Python を使用して XML のエラーと例外を処理する方法を紹介し、参考用のサンプル コードをいくつか示します。 Try-Except ステートメントを使用して XML 解析エラーを捕捉する Python を使用して XML を解析すると、時々、次のようなエラーが発生することがあります。

Python は XML と JSON 間の変換を実装します Python は XML と JSON 間の変換を実装します Aug 07, 2023 pm 07:10 PM

Python は XML と JSON 間の変換を実装します はじめに: 日常の開発プロセスでは、異なる形式間でデータを変換する必要があることがよくあります。 XML と JSON は一般的なデータ交換形式であり、Python ではさまざまなライブラリを使用して XML と JSON の間で変換できます。この記事では、一般的に使用されるいくつかの方法をコード例とともに紹介します。 1. Python で XML を JSON に変換するには、xml.etree.ElementTree モジュールを使用できます。

Python は XML 内の特殊文字とエスケープ シーケンスを解析します Python は XML 内の特殊文字とエスケープ シーケンスを解析します Aug 08, 2023 pm 12:46 PM

Python は XML 内の特殊文字とエスケープ シーケンスを解析します XML (eXtensibleMarkupLanguage) は、異なるシステム間でデータを転送および保存するために一般的に使用されるデータ交換形式です。 XML ファイルを処理する場合、特殊文字やエスケープ シーケンスが含まれる状況に遭遇することが多く、これにより解析エラーやデータの誤解が生じる可能性があります。したがって、Python を使用して XML ファイルを解析する場合は、これらの特殊文字とエスケープ シーケンスの処理方法を理解する必要があります。 1. 特殊文字と

C# 開発で XML および JSON データ形式を処理する方法 C# 開発で XML および JSON データ形式を処理する方法 Oct 09, 2023 pm 06:15 PM

C# 開発で XML および JSON データ形式を処理する方法には、特定のコード サンプルが必要です。現代のソフトウェア開発では、XML と JSON の 2 つのデータ形式が広く使用されています。 XML (Extensible Markup Language) はデータの保存と送信に使用されるマークアップ言語であり、JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 C# 開発では、XML と JSON データの処理と操作が必要になることがよくありますが、この記事では、C# を使用してこれら 2 つのデータ形式を処理し、添付する方法に焦点を当てます。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles