K_XML_GET
「K_XML_GET」は、XMLの特定タグの内容を読み出すことができる命令です。
このページでは、文字処理に特化したHSP用モジュール命令セット「kurage_mod」の命令を解説しています。
【書式】
val = K_XML_GET ( p1 , p2 , p3 )
p1 : var 読み出し先の変数
p2 : str タグ
p3 : int タグの追加フラグ(オプション、0 or 1)
【解説】
XMLまたはHTMLなどタグ囲みの文字列からデータを取り出すことができます。XMLの特定タグに内容を書き込むK_XML_ADD命令と対になっています。
XMLパーサー(MSXML)を使用してRSSを読み込むHSP純正の拡張命令rssloadと異なるのは、タグを見える形で扱うことができる点です。K_XML_GETではタグを指定してその中のデータを変数に納めることができます。その分、自由度の高い操作が可能になっています。
ただし、タグを指定する際には < や > は指定せず、その中身だけを記述する点に注意してください。
(例)<ABC>あいうえお</ABC>の中身を取り出す際は、p2に”ABC”と指定します。
p3の追加フラグが0の場合、K_XML_GETが取り出せるのは起こしタグと閉じタグの文字列が同じ場合になります。
(例)<ABC>あいうえお</ABC>、<OMEDETOU>おめでとう</OMEDETOU>など
classまたはidなどが付与されている複雑なタグから文字列を取り出したい場合は、K_BETWEEN_GET命令を使いキーワードを直接指定してください。
p3の追加フラグを 1 にすると、対象の起こしタグに <![CDATA[ が、閉じタグに ]]> が付加されます。
ちなみにkurage_modの作者は、アプリケーションのiniファイルをタグ囲みの簡易XML形式とし、K_XML_ADDやK_XML_GETでデータの読み書きを行っています。もともとそんな用途で作ったモジュール命令です。
【サンプル】
#include "kurage_mod\\kurage_mod.as" //HSPのフォルダ「common」内からモジュール読み込み T = {" <ABC>あいうえお</ABC> <DEF><![CDATA[かきくけこ]]></DEF> "} 【サンプル1】 A="" : A = K_XML_GET(T,"ABC") dialog A //※結果 //あいうえお 【サンプル2】 DEF="" : DEF = K_XML_GET(T,"DEF") dialog DEF //※結果 //<![CDATA[かきくけこ]]> 【サンプル3】 DEF="" : DEF = K_XML_GET(T,"DEF",1) //p3に1を指定 dialog DEF //※結果 //かきくけこ
【関連項目】
- K_XML_ADD … XMLの特定タグに内容を書き込む (kurage_mod)