<?xml version="1.0" ?> 
- <request id="1" spname="sp_getname"> 
- <input> 
  <Para name="@aa" type="int" datalen="4" /> 
  <Para name="@bb" type="varchar" datalen="32" /> 
  </input> 
- <output> 
  <Para name="@cc" type="int" datalen="4" /> 
  <Para name="@dd" type="varchar" datalen="32" /> 
  </output> 
- <res> 
  <field name="ff" type="int" datalen="4" /> 
  <field name="gg" type="int" datalen="4" /> 
  </res> 
  </request> 
我现在是用的CMARKUP类  我找到了request 怎么样得到id 和  spname 这的值? 
xml.ResetMainPos();
if(xml.FindElem("request"))
{
 MessageBox("ok");
 xml.IntoElem();
 CString str_type=xml.GetAttrib("spname");
 MessageBox(str_type);
}能弹出OK通告框 但是得不到spname的值  请问这个要怎么弄?

解决方案 »

  1.   

    郁闷 没人回答我 我把XML文件给改了 把request 往里面放一层 外面包一层 用GETATTRIUB那个搞定了。。不过我还是想知道 这种最外面一层的 怎么得到属性值
      

  2.   

      <?xml version="1.0" ?> 
    -<request>
      <request id="1" spname="sp_getname"> 
    - <input> 
      <Para name="@aa" type="int" datalen="4" /> 
      <Para name="@bb" type="varchar" datalen="32" /> 
      </input> 
    - <output> 
      <Para name="@cc" type="int" datalen="4" /> 
      <Para name="@dd" type="varchar" datalen="32" /> 
      </output> 
    - <res> 
      <field name="ff" type="int" datalen="4" /> 
      <field name="gg" type="int" datalen="4" /> 
      </res> 
      </request> 
    应该是这样吧  你里面request标签没有匹配。
      

  3.   


    void C*******Dlg::Ontry_TEST()
    { CMarkup xml;
    BOOL bLoad = FALSE;
    CString id_value, spname_value;
    bLoad = xml.Load("haha.xml");
    if (!bLoad)
    {
    AfxMessageBox("Load Err!");
    return;
    }
    xml.ResetPos();

    xml.FindElem("request"); //返回1表示找到 id_value = xml.GetAttrib("id");
    AfxMessageBox(id_value);  // 1 spname_value = xml.GetAttrib("spname");
    AfxMessageBox(spname_value);  //sp_getname}
    我有上传一个资源 就是关于这个的 
    下面是地址http://download.csdn.net/source/992877 
    里面有这个类的CPP和H文件 
    加到你的工程就可以了 
    里面还有很多这个类的文章和使用说明。 
    非常好的哦 我收集很长时间的 呵呵 希望你试一试
      

  4.   


        bLoad = xml.Load("haha.xml"); //haha.xml  是你的那个xml文件
    <?xml version="1.0" ?> 
    <request id="1" spname="sp_getname"> 
    <input> 
      <Para name="@aa" type="int" datalen="4" /> 
      <Para name="@bb" type="varchar" datalen="32" /> 
      </input> 
    <output> 
      <Para name="@cc" type="int" datalen="4" /> 
      <Para name="@dd" type="varchar" datalen="32" /> 
      </output> 
    <res> 
      <field name="ff" type="int" datalen="4" /> 
      <field name="gg" type="int" datalen="4" /> 
      </res> 
    </request>