#import "msxml4.dll"
using namespace MSXML2;m_XmlDocPtr->load(m_ImportXmlFileName);value = "NT_META_BOX";
pXmlNode = m_XmlDocPtr->selectSingleNode("//Block[@type=value]");这样得不到期望的节点,如果用
pXmlNode = m_XmlDocPtr->selectSingleNode("//Block[@type='NT_META_BOX']");
可以得到期望的节点,我用的vc6.0,不知道怎样才能在xpath中利用value变量,因为我需要找的节点type不是固定的,谢谢

解决方案 »

  1.   

    这样不行吗?
    CString str;
    str.Formate("//Block[@type=%s",value);
    pXmlNode = m_XmlDocPtr->selectSingleNode( str );
      

  2.   

    呵呵,我刚刚想通已经解决了,自己还真不是一般的笨哦,方法跟楼上的一样,但是有细节问题哦,               CString cstrPath;
    _bstr_t xPath;
    cstrPath.Format("//Block[@name='%s']",cstrNameValue);
     xPath = cstrPath.AllocSysString();
    pXmlNode = m_XmlDocPtr->selectSingleNode(xPath);
    selectSingleNode要求一个_bstr_t类型的参数哦,转化一下。