2013-04-21 36 views
2

XML:XPath函數:包含錯誤(如果我使用它)!

<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> 

代碼:

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

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

順便說一句:如果我不使用XPath功能,沒有error.I已經測試了一些xpth功能,只有字符串函數可以使用,ohers selectNodes線處的所有錯誤。

我的系統:win8的64 IDE:vs2012的VC MFC(Unicode的項目)

回答

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

+0

我在代碼中添加的setProperty,這是正確的!很感謝!!!^_^ – user2304377 2013-04-22 11:01:46

+0

@ user2304377,不客氣。 – 2013-04-22 14:36:56