たとえば、こんなXMLがある。

<office :document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.2">
  </office><office :meta>
    <meta :creation-date>2009-08-11T09:32:05</meta>
    <dc :date>2009-08-11T09:35:06.48</dc>
    <meta :editing-duration>PT00H03M08S</meta>
    <meta :editing-cycles>2</meta>
    <meta :generator>OpenOffice.org/3.0$Win32 OpenOffice.org_project/300m9$Build-9358</meta>
    <dc :description>これはOpenOfficeのドキュメントです。</dc>
    <meta :keyword>OpenOffice</meta>
    <meta :keyword>XML</meta>
    <meta :keyword>操作</meta>
    <dc :subject>サブジェクト</dc>
    <dc :title>これはタイトル</dc>
    <meta :document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="13" meta:word-count="665" meta:character-count="1725"/>
    <meta :user-defined meta:name="Info 1"/>
    <meta :user-defined meta:name="Info 2"/>
    <meta :user-defined meta:name="Info 3"/>
    <meta :user-defined meta:name="Info 4"/>
  </office>

これは、OpenOfficeで作ったドキュメントファイル(odt)ファイルのから取り出したmeta.xmlだ。

通常、名前空間がなければ
[AS]
var metas:XMLList = _xml.title;
[/AS]
のようにすればよい。
しかし、名前空間があるXMLの場合には、この名前空間を指定しなければいけない。

では、<dc:title />のように名前空間がある要素の取得は以下のようにする。

[AS]
var _dcNS:Namespace = _xml.namespace(“dc”);
trace(_xml.dcNS::title); // これで「これはタイトル」の文字列が出力される
[/AS]
初めの例でいえば、_xml.title の title が _dcNS::title のようにNamespaceの変数名 + “::” + 要素名 にすればいいのだ。
これが、もっと深い子になると、非常に読みづらくなる。
(※:_xmlは上の内容のXMLオブジェクトです。)

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2009年8月
« 7月   9月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ