xml例子如下:
<?xml version="1.0"?> <catalog> <book id="bk001"> <author>Eddy</author> <title>XML Developer's Guide</title> <price>16.18</price> </book> <book id="bk002"> <author>Rain</author> <title>Midnight Rain</title> <price>12.95</price> </book> <book id="bk003"> <author>Sunny</author> <title>Maeve Ascendant</title> <price>60</price> </book> </catalog>
工程首先加入msxml.tlh和msxml.tli。
然后:
#include "msxml.tlh"
新建了一个MFC简单对话框工程,代码如下:
void CtestXMLDlg::OnBnClickedOk() { //首先初始化COM HRESULT hr; hr = CoInitialize(NULL); if( hr != S_OK ) { return; } //创建Document对象 MSXML::IXMLDOMDocumentPtr pDoc; hr = pDoc.CreateInstance(__uuidof(MSXML::DOMDocument)); if( FAILED(hr) ) { return; } if( FALSE == pDoc->load(_bstr_t("D:\\Book.xml")) ) { return; } //选择内容的根节点 MSXML::IXMLDOMElementPtr pElem = NULL; pElem = pDoc->selectSingleNode("catalog"); if(pElem==NULL) { return; } unsigned int nBookNum = pElem->childNodes->length; if( nBookNum == 0) { return; } for(int i=0; i < nBookNum; i++) { MSXML::IXMLDOMNodePtr pBookNode = pElem->childNodes->item[i]; if(pBookNode==NULL) { return; } //读取book节点的id属性 MSXML::IXMLDOMNodePtr pId = pBookNode->attributes->getNamedItem("id"); //读取book节点下author子节点 MSXML::IXMLDOMNodePtr pAuthorNode = pBookNode->selectSingleNode("author"); if(pAuthorNode==NULL) { ; } else { ; } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。