作者:手机用户2702933521 | 来源:互联网 | 2023-05-19 03:18
有如下XML文档,如何解析其中的属性?
href="GroupUnitList.asp?GroupID=0&GroupType=1"
Xml="xtree/tree1_Units.asp?DeviceGroupID=0">
images/group1.gif
href="GroupUnitList.asp?GroupID=1&GroupType=1"
Xml="xtree/tree1_Units.asp?DeviceGroupID=1">
images/group1.gif
我会解析“元素”,但这个属性我试了两天了,还没有试出来。
请各位大哥帮帮忙了!多谢了!
7 个解决方案
会取接点了,拿属性还不容易
看看这篇文
http://www.vczx.com/article/show.php?id=361
怎么没人理了,我查了csdn以前的贴子,没有查到相关的答案.各位大哥多谢了!指点一下小弟吧.
to:duyhui(一天到晚游泳的鱼),您说的那个网页,我看了,主要写的是写入属性,我现在想用读取一个属性。看了这篇文章之后,还是没有思路来读取一个属性。
还想麻烦您再指点一下了,谢谢!
我知道是用MSXML,我可以分析出元素来.我使用的是msxml2,不知道是不是可以.这是我的代码,
MSXML2::IXMLHTTPRequestPtr pXMLHTTPRequest = NULL;
try
{
CString strServerName = "http://" + pApp->m_strIPAddr + "/xtree/tree1_unitgroup.asp";
TESTHR(pXMLHTTPRequest.CreateInstance("Msxml2.XMLHTTP"));
TESTHR(pXMLHTTPRequest->open("POST", strServerName.AllocSysString(), VARIANT_FALSE));
TESTHR(pXMLHTTPRequest->setRequestHeader("CONTENT-TYPE", "text/xml"));
TESTHR(pXMLHTTPRequest->send());
MSXML2::IXMLDOMDocumentPtr pXMLDOMDocument = pXMLHTTPRequest->responseXML;
//下面这句可以正确的把XML文档存下来,存的结果题目所示的格式
pXMLDOMDocument->save(_variant_t("c:\\tree1_unitgroup.xml"));
MSXML2::IXMLDOMNodeListPtr pXMLDOMNodeList = pXMLDOMDocument->selectNodes("TreeNode");
// long l = pXMLDOMNodeList->length;
for(int i = 0; i < pXMLDOMNodeList->length; i ++)
{
MSXML2::IXMLDOMNodePtr pIXMLDOMNode = pXMLDOMNodeList->item[i];
MSXML2::IXMLDOMNamedNodeMapPtr pAttrMap=NULL;
MSXML2::IXMLDOMNodePtr pAttrItem;
_variant_t variantvalue;
pIXMLDOMNode->get_attributes(&pAttrMap);
long count=pAttrMap->get_length(&count);
AfxMessageBox((char *)count);
_bstr_t nodeName=pIXMLDOMNode->nodeName;
BSTR strAttrName;
BSTR strAttrValue;
pAttrMap->get_item(0,&pAttrItem); //在这里就出错了.
pAttrItem->get_nodeName(&strAttrName);
pAttrItem->get_text(&strAttrValue);
AfxMessageBox((char *)strAttrName);
AfxMessageBox((char *)strAttrValue);
//取得节点的值
pAttrItem->get_nodeValue(&variantvalue);
CString m_strId=(char*)(_bstr_t)variantvalue;
AfxMessageBox(m_strId);
}
请大哥指点一下,如何来分析属性,我的代码为什么不行?多谢了!多谢了!
IXMLDOMNodePtr node;
node=pDoc->selectSingleNode(_bstr_t("/全部服务/服务集合/服务"));
IXMLDOMElementPtr spDev;
spDev=node;
value=spDev->getAttribute("ID");