如果有这样一个字符串
_bstr_t str="<Connect action="Query"><Query>100</Query></Connect>";我如果想先解析出action是什么,然后我好根据action来判断解析的东西属于哪类
,然后再取出下层节点的数值,比如这个100这段代码该怎么写,望大虾赐教
_bstr_t str="<Connect action="Query"><Query>100</Query></Connect>";我如果想先解析出action是什么,然后我好根据action来判断解析的东西属于哪类
,然后再取出下层节点的数值,比如这个100这段代码该怎么写,望大虾赐教
解决方案 »
- VC中使用webkit
- 有writefile向文件中写入结构体的问题
- 播放VOB文件时,控制进度失败?
- 给出文件夹路径,可否得到该文件夹下EXE可执行文件的名称
- 请教,我用VC++6.0向导产生了一个MFC应用程序,经过修改后能在主窗口中画图形,但将窗口最小化后再最大化,图形全不见了,如何解决。
- 我用vc的向导建立一个基本对话,在ok键的反馈子程序中写入一段程序,但是编译后一按ok键就执行我写的程序并退出对话,这是为什么,用什么
- 如何将netmeeting内嵌到网页?
- 下载连接的问题??求助。。。。(急急急)
- 怎样在客户区加滚动条显示一个位图,有没有详细的讲解和资料!
- 怎么找到自己机器上的共享目录啊,有时都不知道这些目录放在自己机器的什么地方了啊?
- 请问各位一般怎么读写文本文件,如何格式化流?
- 一个简单的问题-用向导添加一个MFC的新类,怎么会找不到基类报错啊?
loadXML()装载xml字符串
用selectNodes按照XPath语法查询到节点Connect,保留其节点对象后,在解析其属性值
这是一个例子,抛砖
#import "msxml4.dll"
#include "tchar.h"
using namespace MSXML2;inline void TESTHR( HRESULT _hr )
{ if FAILED(_hr) throw(_hr); }void main()
{
try {
IXMLDOMDocumentPtr docPtr;
IXMLDOMNodePtr DOMNodePtr; //init
TESTHR(CoInitialize(NULL));
TESTHR(docPtr.CreateInstance("Msxml2.DOMDocument.4.0"));
// load a document
_variant_t varXml("C:\\book.xml");
_variant_t varOut((bool)TRUE);
varOut = docPtr->load(varXml);
if ((bool)varOut == FALSE)
throw(0);
MessageBox(NULL, _bstr_t(docPtr->xml), _T("Original Document"), MB_OK); DOMNodePtr = docPtr->createComment("This is a comment node");
(DOMNodePtr == NULL) ? throw(0): 0;
TESTHR(docPtr->documentElement->appendChild(DOMNodePtr)); MessageBox(NULL, _bstr_t(docPtr->xml), _T("New Document"), MB_OK); } catch(...)
{
MessageBox(NULL, _T("Exception occurred"), _T("Error"), MB_OK);
}
}Requirements
Implementation: msxml4.dll, msxml2.libHeader and IDL files: msxml2.h, msxml2.idl
[代码作者] Kristen Wegner
[文件大小] 305K
[更新日期] 2003-4-6 15:58:00
[下载次数] 1335 相关评论
http://www.vckbase.com/code/downcode.asp?id=1874
[代码作者] Kristen Wegner
[文件大小] 305K
[更新日期] 2003-4-6 15:58:00
[下载次数] 1335 相关评论
http://www.vckbase.com/code/downcode.asp?id=1874
IXMLDOMNodeList *pNodeList;
IXMLDOMNode *pNode; HRESULT hr =::CoCreateInstance(__uuidof(DOMDocument30),NULL,
CLSCTX_INPROC_SERVER,__uuidof(IXMLDOMDocument2),(LPVOID*)&pXMLDOMDoc);
VARIANT_BOOL vb = pXMLDOMDoc->loadXML(content);
pXMLDOMDoc->getElementsByTagName("Query")->get_item(0,&pNode);
pNode->get_childNodes(&pNodeList);
pNodeList->get_item(0,&pNode);
BSTR bstrNodeName;
pNode->get_nodeName(&bstrNodeName);
HRESULT hr =pDoc.CreateInstance(__uuidof(MSXML::DOMDocument));
if(!SUCCEEDED(hr))
{
AfxMessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!");
return "0" ;
}
if(!pDoc->loadXML(bstrXML))
{
m_Error.Format("XML字符串错误:%d",GetLastError());
AfxMessageBox(m_Error);
return "0";
}
_variant_t var; MSXML::IXMLDOMElementPtr pElement=pDoc->selectSingleNode("Connection"); var=pElement->getAttribute("Action");