Xml XPath函数:包含错误(如果我使用它)!
xml:Xml XPath函数:包含错误(如果我使用它)!,xml,function,xpath,Xml,Function,Xpath,xml: 东方a96 0 西方b92 0 东方a88 0 代码: <Root> <MyNode> <Name>东方a96</Name> <Status>0</Status> </MyNode> <MyNode> <Name>西方b92</Name> <Status>0&
东方a96
0
西方b92
0
东方a88
0
代码:
<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>
#导入命名的GUID
使用名称空间MSXML2;
......
strPath=CString(_T(“/Root/MyNode[contains(Name,'a')]”);
pNodeList=m_pXmlQueryDoc->selectNodes(((bstr)strPath);
......
顺便说一句:如果我不使用xpath函数,就不会有错误。我已经测试了一些xpth函数,只有字符串函数可以使用,ohers所有错误都出现在selectNodes行
我的系统:win8 x64
IDE:vs2012的VC MFC(Unicode项目)您需要将其添加到代码中:
#import <msxml3.dll> named_guids
using namespace MSXML2;
......
strPath = CString(_T("/Root/MyNode[contains(Name,'a')]"));
pNodeList = m_pXmlQueryDoc->selectNodes((_bstr_t)strPath);
......
setProperty(BSTR strProp, VARIANT strVal);
其中:
#import <msxml3.dll> named_guids
using namespace MSXML2;
......
strPath = CString(_T("/Root/MyNode[contains(Name,'a')]"));
pNodeList = m_pXmlQueryDoc->selectNodes((_bstr_t)strPath);
......
setProperty(BSTR strProp, VARIANT strVal);
未指定时,默认值为“XSLPattern”——这意味着根本不启用XPath
有关更多信息,请阅读以下内容: