谁能帮我用vc+msxml解析一下这个XML

来源:百度知道 编辑:UC知道 时间:2024/06/28 06:21:25
<?xml version="1.0"?>
<ROOT>
<Quxian Qid= " 11 " Qname="朝阳区" >
<Xianggzhen Qid= " 1101 " > 小红门乡 </Xianggzhen>
<Xianggzhen Qid= " 1102 " > 十八里店乡 </Xianggzhen>
</Quxian>
<Quxian Qid= " 12 " Qname="海淀区">
<Xianggzhen Qid= " 1201 " > 海淀乡 </Xianggzhen>
<Xianggzhen Qid= " 1202 " > 四季青乡 </Xianggzhen>
<Xianggzhen Qid= " 1203 " > 东升乡 </Xianggzhen>
<Xianggzhen Qid= " 1204 " > 苏家坨镇 </Xianggzhen>
</Quxian>
</ROOT>

另外我还需要把Quxian 的Qname属性读出来逐个添加到combobox1
Xianggzhen 的文本读到combobox2中

运行成功还送分!

我曾经实现过类似的功能,这是段代码,你参考一下。

#import "msxml.dll"
#import "msxml2.dll"
using namespace MSXML2;

void
CXmlMgr::GetEachElement(
IN TiXmlElement* pSrc,
OUT CString& csResult
)
{
if ( pSrc )
{
if ( pSrc->Type() == TiXmlNode::ELEMENT )
{
TiXmlElement* pChild = ( TiXmlElement* ) pSrc->FirstChild();
while(pChild)
{
GetEachElement( pChild, csResult );

pChild = pChild->NextSiblingElement();
}
}
else
{
const char* pp = pSrc->Value();

CString csValid = pp;
CheckDicResult( csValid );

csResult += csValid;
csResult += ",";
}
}
}

麻烦 话钱请人算了

tinyxml msxml都行的,例子有很多自己动手搜搜不好吗?