ホームページ バックエンド開発 XML/RSS チュートリアル XML 解析における名前空間についての予備的な理解

XML 解析における名前空間についての予備的な理解

Mar 17, 2017 pm 05:32 PM

XML ファイルを解析するときに初心者が遭遇する可能性のある最も一般的な問題は、おそらく XML 名前空間です。この記事は、名前空間について簡単に説明することを目的としています。

名前空間の意味は言うまでもありませんが、C++、

C#、その他の高級言語と同様に、XML も多数のファイルをまとめると変数名が同じになってしまうという問題に直面するため、名前空間を使用する必要があります。同じ名前で異なる意味を持つ変数を分離します。この記事では、名前空間の解析方法に焦点を当てます。

以下は単純な XML ファイルです:

<root>
   <child id = ‘0’> 
      hello world 
   </child>
   <child id=&#39;1&#39;>
     one
   </child>
</root>
ログイン後にコピー
この例には名前空間がありません。XML を初めて学ぶときに遭遇する例は次のようなものではないでしょうか。この例は誤解を招きます。初心者は hello world を解析した後、実際の XML ファイルを解析するために喜んで同じプログラムを使用しますが、多くの場合失敗します。以下は、Douban

API

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:db="http://www.douban.com/xmlns/" 
xmlns:gd="http://schemas.google.com/g/2005" xmlns:opensearch="http://a9.com/-/spec/opensearchrss/1.0/">  
<id>http://api.douban.com/event/10069638</id>  
<title>Debugging the Web </title>  
<category scheme="http://www.douban.com/2007#kind" term="http://www.douban.com/2007#event.salon"/>  
<author>    
<link href="http://api.douban.com/people/1057620" rel="self"/>    
<link href="http://www.douban.com/people/aka/" rel="alternate"/>    
<link href="http://t.douban.com/icon/u1057620-16.jpg" rel="icon"/>
    name>胖胖的大头鱼</name>    
    <uri>http://api.douban.com/people/1057620</uri>
    </author>
<db:attribute name="invite_only">no</db:attribute>
ログイン後にコピー
から返された XML ファイルです。www がたくさんあるので読みたくないので、読み飛ばしてしまいます。すると、見慣れた が表示されます。上記の例のプログラムを思い切って適用してみます。実行しても何も表示されません。何が問題なのでしょうか? C# は、XDocument などの XML クラスを多数提供します。子供靴、落ち着いて一行ずつ見てみましょう。

この行は面白くないので、ここを見てくださいno を組み合わせると理解できます。はい、db は名前空間の略語であり、要素の名前の前に記述するのに便利です。そのため、 とは異なります。この略語はドキュメント内の変数を区別できますが、依然として多数のドキュメントには適していないため、名前空間には完全な名前もあります (ここでは http://www.douban.com/xmlns/)。実際、XML Parser では、どんな内容でも string

として扱うことができます。ただし、名前を考えるのが面倒です。第 2 に、これは広告として使用できます。はこの URL を使用します。解析する際、Parser は完全名に基づいて変数を区別するため、両方のドキュメントに が存在する場合でも、完全名が異なっていれば問題はありません。

こうやってみるとわかりやすいですが、http://www.w3.org/2005/Atom には略語すらありません。彼の略称は空の文字列であると気づいたのは正しいことです。これはデフォルトの名前空間と呼ばれ、プレフィックスのないように見えるものはこの名前空間の下にあります。したがって、 は裸ではなく、実際には <"http://www.w3.org/2005/Atom"> なので、当然、裸のプログラムはそれを解析できません。

それでは、どうやって分析するのでしょうか?以下にサンプルプログラムを示しますので、皆様のお役に立てれば幸いです。このコードはWP7で動作します。 XmlDocument のバージョンもありますが、WP7 にはこのクラスがありません。残念です。 。 。

りー

以上がXML 解析における名前空間についての予備的な理解の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

PowerPoint を使用して XML ファイルを開くことはできますか?

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

Python を使用した XML データのフィルタリングと並べ替え

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

Python で XML データを CSV 形式に変換する

Python を使用した XML データのマージと重複排除 Python を使用した XML データのマージと重複排除 Aug 07, 2023 am 11:33 AM

Python を使用した XML データのマージと重複排除

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

Python は XML と JSON 間の変換を実装します

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

Python を使用した XML でのエラーと例外の処理

PHP を使用して XML データをデータベースにインポートする PHP を使用して XML データをデータベースにインポートする Aug 07, 2023 am 09:58 AM

PHP を使用して XML データをデータベースにインポートする

PHP と XML を使用して地理位置情報と地図データを処理および表示する PHP と XML を使用して地理位置情報と地図データを処理および表示する Aug 01, 2023 am 08:37 AM

PHP と XML を使用して地理位置情報と地図データを処理および表示する

See all articles