2008年04月06日

firefox拡張機能でXMLファイルの読み込み(2)

前回の続き。

前回のサンプルプログラムでは、XMLデータを処理する箇所にXPathEvaluatorを使用していましたが、XPathEvaluatorでは取り出すデータの指定に、XPathを使用する必要があります。しかし、XPathはまだ良く理解していないので、テスト用に、取り出すデータが要素の場合と、属性の場合の2つの簡単なサンプルを作成しました。
XMLファイル(library_elem.xml)が以下の場合
<?xml version="1.0" encoding="UTF-8"?>
<library>
<category>
<id>A1</id>
<name>XML</name>
<book>
<id>9784894714816</id>
<title>XSLT Web開発者ガイド</title>
<price>3400</price>
</book>
<book>
<id>9784873112213</id>
<title>XML HACKS</title>
<price>3200</price>
</book>
</category>
<category>
<id>A2</id>
<name>MySQL</name>
<book>
<id>9784873112091</id>
<title>実践ハイパフォーマンスMySQL</title>
<price>3600</price>
</book>
<book>
<id>9784873111551</id>
<title>MySQLクックブック VOLUME 1</title>
<price>5400</price>
</book>
<book>
<id>9784873111667</id>
<title>MySQLクックブック VOLUME 2</title>
<price>4400</price>
</book>
</category>
</library>


上記から取り出すデータが、categoryの子要素のname要素の場合、XPathは
library/category/name

となり、”XML”と”MySQL”が対象のデータとなります。

次に、XMLファイル(library_attr.xml)が以下の場合
<?xml version="1.0" encoding="UTF-8"?>
<library>
<category id="A1" name="XML">
<book id="9784894714816" title="XSLT Web開発者ガイド" price="3400"/>
<book id="9784873112213" title="XML HACKS" price="3200"/>
</category>
<category id="A2" name="MySQL">
<book id="9784873112091" title="実践ハイパフォーマンスMySQL" price="3600"/>
<book id="9784873111551" title="MySQLクックブック VOLUME 1" price="5400"/>
<book id="9784873111667" title="MySQLクックブック VOLUME 2" price="4400"/>
</category>
</library>


取り出すデータが、categoryのname属性の場合、XPathは
library/category/@name

となり、”XML”と”MySQL”が対象のデータとなります。


注. 属性の場合は、属性名の前に”@"を追加

XPathは多くの指定方法がありますが、上記の2つでとりあえずOKです。さらにXPathについて詳しく知りたい場合は以下を参照

参考サイト
http://developer.mozilla.org/ja/docs/Using_XPath
http://www.w3schools.com/xpath/

参考書籍
・XSLT Web開発者ガイド (ピアソン・エデュケーション)
posted by jun1 at 01:45| Comment(0) | TrackBack(0) | firefox
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/13636376

この記事へのトラックバック