2

xml:</p>

<Root>
   <MyNode>
         <Name>东方a96</Name>
         <Status>0</Status>
   </MyNode>
   <MyNode>
          <Name>西方b92</Name>
          <Status>0</Status>
    </MyNode>
    <MyNode>
          <Name>东方a88</Name>
          <Status>0</Status>
     </MyNode>
</Root>

代码:</p>

#import <msxml3.dll> named_guids
using namespace MSXML2;

......
strPath = CString(_T("/Root/MyNode[contains(Name,'a')]"));
pNodeList = m_pXmlQueryDoc->selectNodes((_bstr_t)strPath); 
......

BTW:如果我不使用xpath函数,没有错误。我已经测试了一些xpth函数,只有字符串函数可以使用,在selectNodes行所有错误。

我的系统:win8 x64 IDE:vs2012的VC MFC(Unicode项目)</p>

4

1 回答 1

1

您需要将此添加到您的代码中

setProperty(BSTR strProp, VARIANT strVal);

其中

strProp 
    A BSTR string whose value is "SelectionLanguage".
strVal 
    A VARIANT string, whose value is  "XPath".

如果未指定,则默认为“XSLPattern”——这意味着根本没有打开 XPath。

有关更多信息,请阅读以下内容:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms754679(v=vs.85).aspx

于 2013-04-21T16:52:00.430 回答