各位大虾在vc6.0中都如何解析xml(最好是系统自带的库,不想引用第三方程序),麻烦给小弟发一下参考手册([email protected])

解决方案 »

  1.   

    到www.sourceforge.net上面下载一个叫做tinyXml的类,该类不长但功能齐全,很适合做研究学习用的。二楼说的就是系统自带的,不过属于富客户端的那种,基本上很多功能用不到的。
      

  2.   

    各位大哥,哪里有msxml 3.0 的使用说明?
      

  3.   

    这里是微软官方网站上面的介绍和使用说明,你参考一下吧。
    http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarxml/html/xmlparser.asp
      

  4.   

    不用第三方库,就用MS XML Lib可以参考下面的例子
    http://www.codeproject.com/soap/xmltreeview.asp
      

  5.   

    我看了很多解析xml的例子,几乎都用到IXMLDOMElementPtr这个类型,于是我试图在MSDN上找到这个类型,但我只找到IXMLDOMElement 类而没找到IXMLDOMElementPtr,从名字上猜,IXMLDOMElementPtr应该是IXMLDOMElement 的指针,如果我猜的正却,那大伙为什么用IXMLDOMElementPtr而不直接使用IXMLDOMElement?另外有没有手册能查到关于IXMLDOMElementPtr的定义?MSDN上似乎没有说明。
      

  6.   

    我在codeproject上找了一个paramIO的类,但是要自己修改.
      

  7.   

    IXMLDOMElementPtr是智能指针,可直接赋值,另外它会自动释放
      

  8.   

    IXMLDOMElementPtr  XMLDOMElement
      

  9.   

    IXMLDOMElementPtr是智能指针,可直接赋值,另外它会自动释放
    这个正确。我当时就没用只能指针,内存泄漏把我搞晕了。赫赫 不过现在好了。
      

  10.   

    IXMLDOMDocumentPtr pDoc; // 文档
    IXMLDOMElementPtr elm,innerelm; // 元素
    IXMLDOMNodeListPtr nodes,pInnerNodes; //结点List
    long lNodeInUse = 0;
    long lNodeLen = 0;
    IXMLDOMNodePtr pNode,pInnerNode; //结点
    // 另外就是Text了pDoc->loadXML(Reader->RpcResult->text);
    elm = pDoc->GetdocumentElement();
    if(elm->hasChildNodes())
    {
       nodes = elm->GetchildNodes();
       lNodeLen = nodes->Getlength();
       for(int i=0;i<lNodeLen;i++)
       {
          pCurrentRecord = AddRecord();
          pNode = nodes->item[i];
          pInnerNodes = pNode->GetchildNodes();
          lNodeInUse = pInnerNodes->Getlength();
          for(int k=0;k<lNodeInUse;k++)
          {
             ...
          }
       }
    }真的非常简单!
      

  11.   

    PS:上面的Reader->RpcResult->text是我读webservice Reader的结果,不必在意!