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

前書き: 同社の 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 までご連絡ください。
RSSドキュメントの解剖学:構造と要素RSSドキュメントの解剖学:構造と要素May 10, 2025 am 12:23 AM

RSSドキュメントの構造には、3つの主要な要素が含まれています。1。:rOSSバージョンの定義。 2。:タイトル、リンク、説明などのチャネル情報を含む。 3。:タイトル、リンク、説明などを含む特定のコンテンツエントリを表す

RSSドキュメントの理解:包括的なガイドRSSドキュメントの理解:包括的なガイドMay 09, 2025 am 12:15 AM

RSSドキュメントは、XMLファイルを介してコンテンツの更新を公開するための簡単なサブスクリプションメカニズムです。 1. RSSドキュメント構造は、要素で構成され、複数の要素が含まれています。 2。RSSリーダーを使用して、XMLを解析することにより、チャネルをサブスクライブし、情報を抽出します。 3.高度な使用には、FeedParserライブラリを使用したフィルタリングとソートが含まれます。 4.一般的なエラーには、XMLの解析とエンコードの問題が含まれます。 XML形式とエンコードをデバッグ中に検証する必要があります。 5.パフォーマンス最適化の提案には、キャッシュRSSドキュメントと非同期解析が含まれます。

RSS、XML、およびThe Modern Web:コンテンツシンジケーションディープダイビングRSS、XML、およびThe Modern Web:コンテンツシンジケーションディープダイビングMay 08, 2025 am 12:14 AM

RSSとXMLは、最新のWebで依然として重要です。 1.RSSはコンテンツを公開および配布するために使用され、ユーザーはRSSリーダーを介して購読して更新を取得できます。 2。XMLはマークアップ言語であり、データストレージと交換をサポートし、RSSファイルはXMLに基づいています。

基本を超えて:XMLによって有効になっている高度なRSS機能基本を超えて:XMLによって有効になっている高度なRSS機能May 07, 2025 am 12:12 AM

RSSにより、マルチメディアコンテンツの埋め込み、条件付きサブスクリプション、パフォーマンスとセキュリティの最適化が可能になります。 1)タグを介してオーディオやビデオなどのマルチメディアコンテンツを埋め込みました。 2)XMLネームスペースを使用して条件付きサブスクリプションを実装し、サブスクライバーが特定の条件に基づいてコンテンツをフィルタリングできるようにします。 3)CDATAセクションとXMLSchemaを介してRSSFeedのパフォーマンスとセキュリティを最適化して、標準の安定性とコンプライアンスを確保します。

RSSのデコード:Web開発者向けのXMLプライマーRSSのデコード:Web開発者向けのXMLプライマーMay 06, 2025 am 12:05 AM

RSSは、頻繁に更新されるデータを公開するために使用されるXMLベースの形式です。 Web開発者として、RSSを理解することで、コンテンツの集約と自動化の更新機能を改善できます。 RSS構造、解析、および生成方法を学習することにより、RSSFeedsを自信を持って処理し、Web開発スキルを最適化できるようになります。

JSON対XML:RSSがXMLを選択した理由JSON対XML:RSSがXMLを選択した理由May 05, 2025 am 12:01 AM

RSSは、JSONの代わりにXMLを選択しました。1)XMLの構造と検証機能は、RSS複雑なデータ構造のニーズに適したJSONよりも優れています。 2)その時点でXMLは広くサポートされていました。 3)RSSの初期バージョンはXMLに基づいており、標準になっています。

RSS:XMLベースの形式で説明しましたRSS:XMLベースの形式で説明しましたMay 04, 2025 am 12:05 AM

RSSは、頻繁に更新されるコンテンツを購読および読み取りに使用するXMLベースの形式です。その実用的な原則には、生成と消費の2つの部分が含まれ、RSSリーダーを使用することで情報を効率的に取得できます。

RSSドキュメント内:必須XMLタグと属性RSSドキュメント内:必須XMLタグと属性May 03, 2025 am 12:12 AM

RSSドキュメントのコア構造には、XMLタグと属性が含まれます。特定の解析と生成の手順は次のとおりです。1。XMLファイル、プロセス、タグを読み取ります。 2。抽出、、、、などのタグ情報。 3。バージョンの互換性を確保するために、カスタムタグと属性を処理します。 4.キャッシュと非同期処理を使用して、パフォーマンスを最適化してコードの読みやすさを確保します。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン