我现在要做的是,在vc6.0中解析xml文件,是已经写的好好的xml,由于本人是新手,并不是太了解xml,在网站上也搜了点相关知识,我要问的是:
1、在vc中用CMarkup类是不是把,CMarkup.h和CMarkup.cpp引入工程就行了还是要有其他的类支持,或者要用到什么其他的库
2、我在网上找到的关于CMarkup类解析xml说明是这样的:先要建立个CMarkup类的对象,然后在对他进行操作,但是我的xml文件是现有的,请问怎么解析,望高手指点!!!

解决方案 »

  1.   

    1.把Markup.cpp和Markup.h加入你的工程里面,CMarkup类就可以用了
    2.读取例子
    CMarkup xml;
    xml.Load("UserInfo.xml");BOOL bFind = true;
    xml.ResetMainPos();
    while (xml.FindChildElem("UserID");)
    {//此时接点还是父接点
    CString strTagName = _T("");
    CString strData = _T("");strTagName = xml.GetChildTagName();
    strData = xml.GetChildData();
    TRACE("\n---tagName:%s,Data:%s--\n",strTagName,strData);}写入例子
    CMarkup xml;
    xml.AddElem( "ORDER" );
    xml.AddChildElem( "ITEM" );
    xml.IntoElem();
    xml.AddChildElem( "SN", "132487A-J" );
    xml.AddChildElem( "NAME", "crank casing" );
    xml.AddChildElem( "QTY", "1" );
    xml.Save("c:\\UserInfo.xml");
      

  2.   

    第二点可我看到过,我问的是在xml已经有的情况下(写好了,不是像上面那样加上去的),是不是就能够直接解析,不需其他操作!
      

  3.   

    第二点可我看到过,我问的是在xml已经有的情况下(写好了,不是像上面那样加上去的),是不是就能够直接解析,不需其他操作!
      

  4.   

    1.是的,直接加就可以了
    2.xml.Load其实已经解析了,然后你对内容进行操作就可以了,比如添加删除等。
      

  5.   

    我的运行程序是如下的代码 怎么总是出错呢
    #include "stdafx.h"
    #include "Markup.h"
    int _tmain(int argc, _TCHAR* argv[])
    {
    CMarkup xml; xml.Load("D:\\MyProject\\TestXML\\TestXML\UserInfo.xml");
    return 0;
    }1>TestXML.cpp
    1>d:\myproject\testxml\testxml\testxml.cpp(14) : error C2664: “CMarkup::Load”: 不能将参数 1 从“const char [41]”转换为“CMarkup::MCD_CSTR”
    1>        无构造函数可以接受源类型,或构造函数重载决策不明确