以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  [求助]如何用DOM解析内存中XML数据结构?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=10024)


--  作者:hbdz_zcj
--  发布时间:9/16/2004 9:50:00 AM

--  [求助]如何用DOM解析内存中XML数据结构?
各位大侠,如何用DOM的方法解析一个XML结构的字符串呢?请多多指教,谢谢!
--  作者:doubleG
--  发布时间:9/16/2004 6:11:00 PM

--  
XMLDocument.Load(strXMLFILEString)这是个伪代码,具体就看你是用什么了
--  作者:hbdz_zcj
--  发布时间:9/23/2004 3:40:00 PM

--  
不好意思,我没有说清楚,我是在UNIX系统环境下解析XML字符串,而且用的解析器是Xerces-C++。请各位大侠不吝指教。谢谢!
--  作者:bjutline
--  发布时间:4/4/2005 12:12:00 PM

--  
to hbdz_zcj
   哥们儿,你找到有关的代码或文档了吗?
我也很急需,能不能给我发一份啊。我的邮箱:
bjutline@126.com,bjutwind@bjut.edu.cn
msn:bjutline@hotmail.com
--  作者:wondercall
--  发布时间:4/13/2005 11:24:00 AM

--  
loadXML(CString xxx)  ,可以参看MSDN
--  作者:wondercall
--  发布时间:4/13/2005 11:31:00 AM

--  
错了,应该是loadXML(BSTR)


//------------get一个xml文件到内存,作为字符串
void CXmlreadDlg::GetURL(void)
{
 UpdateData();
 CInternetSession sess;//建立会话
 CHttpFile* pF=(CHttpFile*)sess.OpenURL(m_szURL);//打开文件
// MessageBox("GetURL doing");
// CString szData,szAllData;
 while(pF->ReadString(szData))
 {//读取文件
  szAllData+="\r\n";
  szAllData+=szData;
 }
 pF->Close();
 sess.Close();

}

//-------------------------读取内存的字符串------------------------------
void CXmlreadDlg::OnLoad()
{
 // TODO: Add your control notification handler code here
 GetURL();

  //创建DOMDocument对象

         MSXML2::IXMLDOMDocumentPtr pDoc;
         HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
         if(!SUCCEEDED(hr))
         {                
              MessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!");
         }
//MessageBox("create Doc");
         //加载文件
         pDoc->loadXML((BSTR)(CComBSTR)szAllData);
//MessageBox("load ");     
         //获取根节点
         //MSXML2::IXMLDOMElementPtr  childNode=NULL ;
   MSXML2::IXMLDOMElementPtr  ROOTNODE=NULL ;
   //MSXML2::IXMLDOMNodePtr pNode= NULL;
  
   MSXML2::IXMLDOMNodePtr     pXMLNode3=NULL;  
         pDoc->get_documentElement(&ROOTNODE);

……
……
……


头文件#include "afxinet.h"
#include <atlbase.h> // Includes CComVariant and CComBSTR.

#import "msxml3.dll"
……


希望对你有用


--  作者:wondercall
--  发布时间:4/13/2005 11:33:00 AM

--  
ft,UNIX的阿,汗
--  作者:wondercall
--  发布时间:4/13/2005 11:34:00 AM

--  
ft,UNIX的阿,汗
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
124.023ms