-1

VisualC++コードでxml文字列のノード値を取得したい

私のvc++コードはこのようなものです

url = _T( "http://www.xyz.com/val"); CStringの結果=g_pCAddonHandler->SendWebRequest(url、L "GET"、L ""、false); //リクエストをWebURLに送信すると、xml文字列が返されます。xmlの形式は次のとおりです。

応答

結果name="response" numFound = "1" start = "0"

doc

str name = "id"> 497888 / str

str name="lastName"ロス/str

str name="name"ホリー/str

/ doc

/結果

/応答

注:-stackoverflowでは許可されていないため、<&>は使用していません。

すべてのノードを取得するのを手伝ってください。私はVC++に比較的慣れていません。

よろしくアニル

4

3 に答える 3

2

文字列をトークン化してすべてのノードを取得することで独自の XML パーサーを作成するか、 TinyXMLなどの既存のパーサーを使用することができます。このチュートリアルを読んでください。

于 2012-07-18T09:45:32.863 に答える
0

これを試して

MSXML2::IXMLDOMDocumentPtr pXMLDom;
IXMLDOMNodeListPtr itemNodes = NULL;
CComBSTR bstrResp(szResponse);
::CoCreateInstance(MSXML2::CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,
        MSXML2::IID_IXMLDOMDocument, (void**)&pXMLDom);
BOOL bRet = pXMLDom->loadXML((BSTR) bstrResp);


if(bRet)
{
 itemNodes = pXMLDom->selectNodes(_T( "/response/result/doc/str[@name='id']"));
 CString szId =  itemNodes->item[0]->text
 ....

}

詳細については、これを確認してください

http://msdn.microsoft.com/en-us/library/windows/desktop/ms756987%28v=vs.85%29.aspx

于 2012-07-19T05:30:35.827 に答える
0

TinyXML が難しい場合は、いつでも http://pugixml.org/を試すことができます。

于 2012-07-18T09:47:50.300 に答える