2010-11-26 28 views
0

httpサーバにヒットした後、XML形式のレスポンスが返されます。私はこの目的のためにlibcurlを使用しています。 私はいくつかのXMLパーサーを使用することを考えていましたが、APIを見ると、すべてXMLファイルが取られますが、char *のデータがあります。XMLレスポンスの解析

は、char取り可能な任意のXMLパーサーは、私のコードはLinux上でCにある入力

として*あります。

私はXMLのドメインへの初心者です:)

#include <curl/curl.h> 


size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp) 
{ 
printf ("\n punith\n"); 
printf ("\n size %d\n",size); 
printf ("\n no. of mem %d\n",nmemb); 
printf ("\n%s\n",(char *)userp); 
printf ("%s",(char *)buffer); 

} 
int main(void) 
{ 
CURL *curl; 
CURLcode res; 

curl = curl_easy_init(); 
if(curl) { 
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); 
curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.1.188:80/un.xml"); 
res = curl_easy_perform(curl); 

/* always cleanup */ 
curl_easy_cleanup(curl); 
} 
return 0; 
} 

私の出力は

<RNQueryRsp> 
<RefID>ABCD999001</RefID> 
<PN>919</PN> 
<Result>1</Result> 
<RN>1414</RN> 
<DNO>100</DNO> 
<NRHN>101</NRHN> 
<LSA>XY</LSA> 
</RNQueryRsp> 

答えて

0

になりますがlibxml2を見てください。

0

まず、あなたが働いている環境は何ですか? Linux、windows?
あなたが見たapisについて言及していない、私はそれが奇妙であることがわかります。読み込んだxmlファイルを読み込むだけだったのでしょうか?
GNOME http://xmlsoft.org/

+0

申し訳ありませんが、Linuxで作業しています。 – punith

+0

@punith:私はlibcurlに慣れていませんが、xlmを出力したい場合はcurl_easy_getinfoを使用してXMLを取得する必要があると思います。レスポンスを解析する必要がある場合は、チェックしたXML解析APIを使用して投稿を更新する必要があります。 – Cratylus