我有这个xml:
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfFileInformation xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://tempuri.org/"> <Data> ......
当我留"xmlns="http://tempuri.org/"
在Xml中时,以下内容不返回任何节点:
CString tag = L"//Data";
MSXML2::IXMLDOMNodeListPtr pDataTag = pXMLDocument->selectNodes((_bstr_t)tag);
当我删除该属性时,一切正常。
你能帮我么?
为了在XPath中选择命名空间节点,您需要使用XPath库提供的功能将前缀绑定到相关的命名空间URI,然后在通过名称选择节点时使用该前缀。selectNodes方法的MSDN文档仅提供了一个C ++示例,关键是SelectionNamespaces
在文档上设置属性
pXMLDocument->setProperty("SelectionNamespaces", "xmlns:tmp='http://tempuri.org/'");
然后,您可以使用XPath的 //tmp:Data
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句