tinyxml解析XML文字列は、リモートXMLをロードすることができます。


tinyxmlの軽量級XML解像器は、プラットフォームにまたがっています。
1:まずリモートXMLを取得し、リモートHTTPを要求する。
 
 CString m_data;
 CString m_result;
 m_http.PostContent("http://www.xxxx.com/ref.php","",m_data,m_result);
 ReadXmlFile(m_data); 
2:tinyXMLを使って解析する
bool CTESTDlg::ReadXmlFile(CString& szFileName)
{//  Xml  ,   
	try
	{
		//--         -------------
		//CString appPath=GetAppPath();;		
		//CString seperator = "\\";
		//CString fullPath = appPath.GetBuffer(0) +seperator+szFileName;

		//    XML     。
		TiXmlDocument *myDocument = new TiXmlDocument();
        
		//-------------     -----------
		myDocument->Parse(szFileName);

		//-------------    -----------
		//myDocument->LoadFile(szFileName);
       
		//     。
		TiXmlElement *RootElement = myDocument->RootElement();
		//       。
	//	cout << RootElement->Value() << endl;
		AfxMessageBox(RootElement->Value());
		//       。
		TiXmlElement *FirstPerson = RootElement->FirstChildElement();
		//              。
		TiXmlElement *NameElement = FirstPerson->FirstChildElement();
		TiXmlElement *AgeElement = NameElement->NextSiblingElement();
		TiXmlAttribute *IDAttribute = FirstPerson->FirstAttribute();
		//     Person name  ,    ;age  , ;ID  , 。
		AfxMessageBox(NameElement->FirstChild()->Value());
		AfxMessageBox(AgeElement->FirstChild()->Value());
	}
	catch (CString& e)
	{
		return false;
	}
	return true;
}
もう一つはc++XML解像器CMarkupです。  この解析器はリモートの解析も可能です。
		CString m_data;
		CString m_result;
		m_http.PostContent("http://www.xxxx.com/ref.php","",m_data,m_result); 
		CMarkup xml;
		//---------    XML------------
		xml.SetDoc(m_data);

		//---------    XML------------
		//xml.Load("d:\\mygood.xml");

		while (xml.FindChildElem("item"))
		{
			xml.IntoElem();
			xml.FindChildElem("t_id");
			CString csSN = xml.GetChildData();
			xml.FindChildElem("t_name");
			int nQty = atoi(xml.GetChildData());
			xml.OutOfElem();
		}