xml解析UserID//MSXML2方法怎么把这个节点的名字解析出来?
<?xml version="1.0" encoding="UTF-8" ?>
- <root>
<Title>修改用户</Title>
<EditUser UserID="admin" UserPassword="12345" UserTypeID="1" />
</root>
[最优解释]
看个例子
IXMLDOMDocument *pIXMLDOMDocument = NULL;
wstring strFindText (_T("author"));
IXMLDOMNodeList *pIDOMNodeList = NULL;
IXMLDOMNode *pIDOMNode = NULL;
long value;
BSTR bstrItemText;
HRESULT hr;
try
{
// 创建一个DOMDocument文档对象,并装载具体文档,相关代码省略。
//下面的代码用来得到一个和标签名称author相关的所有的节点集合
hr = pIXMLDOMDocument->getElementsByTagName(
(TCHAR*)strFindText.data(), &pIDOMNodeList);
SUCCEEDED(hr) ? 0 : throw hr;
//是否正确的得到了指向IDOMNodeList的指针。
hr = pIDOMNodeList->get_length(&value); //得到所包含的NODE节点的个数
if(SUCCEEDED(hr))
{
pIDOMNodeList->reset();
for(int ii = 0; ii < value; ii++)
{
//得到具体的一个NODE节点
pIDOMNodeList->get_item(ii, &pIDOMNode);
if(pIDOMNode )
{
pIDOMNode->get_text(&bstrItemText); //得到该节点相关的文本信息
::MessageBox(NULL, bstrItemText,strFindText.data(), MB_OK);
pIDOMNode->Release();
pIDOMNode = NULL;
}
}
}
pIDOMNodeList->Release();
pIDOMNodeList = NULL;
}
catch(...)
{
if(pIDOMNodeList)
pIDOMNodeList->Release();
if(pIDOMNode)
pIDOMNode->Release();
DisplayErrorToUser();
}