2008年02月23日

公開しました(RESTClientクラス)。

新たに公開したのは、↓です。
■RESTClientクラス(C/C++)Windows,Linux共用
WebサービスのRESTタイプのクライアント処理を行います。

返却オブジェクトとして↓のXMLParserのXMLNodeを使用させていただいています。
http://www.applied-mathematics.net/tools/xmlParser.html

【↑のURLでも説明がありますが、以下にxmlParserの簡単な使用方法を示します。】

<?xml version="1.0" encoding="UTF-8"?>
<ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" pgr="478070">
<Result>
<Title>Projet de loi de finances pour 2006</Title>
<Cache>
<Url>http://wrs.search.yahoo.co.jp/l=WS5/R=1/;</Url>
<Size>1137508</Size>
</Cache>
</Result>
<Result>
<Title>Projet de loi de finances pour 9999</Title>
<Cache>
<Url>http://wrs.search.yahoo.co.jp/l=WS5/R=1/;</Url>
<Size>1137508</Size>
</Cache>
</Result>
</ResultSet>

↑のXMLデータがレスポンスで返却されるとして、Resultタグのリストを表示したいなら、以下のように処理します。

RESTClient rest("http://xxx.search.xxx.co.jp/WebSearchService/V1/webSearch");
rest.SetParam("appid", "XXXDemo");
rest.SetParam("query", "finances");
rest.Get();
XMLNode main = rest.GetResponseXML();

//ルートのタグとなるResultSetタグのXMLNodeを取得します。
XMLNode root = main.getChildNode("ResultSet");

//Resultタグの数を取得します。
int n = root.nChildNode("Result");

int i,iterator=0;
for (i=0; i<n; i++) {
//Resultタグを順次的に処理します。
XMLNode xResult = root.getChildNode("Result",&iterator);

//Resultタグの子ノードであるTitleタグを取得します。
string str = xResult.getChildNode("Title").getText();
printf("Title %i=%s\n",i+1, str.c_str());
}

また、ResultSetタグの"pgr"属性の値を取得したいなら以下のようにアクセス
します。

main.getChildNode("ResultSet").getAttribute("pgr") → 478070

簡単ですが以上です。


公開URLはページの→側にもありますが、
http://winter-tail.sakura.ne.jp
です。


良かったらクリックお願いします→banner_01.gif
posted by 台北猫々 at 09:30| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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

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