<GRAMMAR>
<RULE NAME="A">
<RULE NAME="B">
<RULE NAME="C">
</GRAMMAR>如何快速选择NAME为"B"的节点;
如果用SelectNode函数 无法区分三个RULE,请问有什么解决方法。
谢谢
<RULE NAME="A">
<RULE NAME="B">
<RULE NAME="C">
</GRAMMAR>如何快速选择NAME为"B"的节点;
如果用SelectNode函数 无法区分三个RULE,请问有什么解决方法。
谢谢
可以用MSXML2的相关函数去取。
CString strPath = _T("F:\\configure.xml");
::OleInitialize(NULL);
MSXML2::IXMLDOMDocumentPtr pDoc = NULL;
MSXML2::IXMLDOMElementPtr pRoot = NULL;
MSXML2::IXMLDOMNodePtr pNode = NULL;
VARIANT_BOOL isSuccessful = VARIANT_FALSE;
hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument60));
pDoc->load(strPath.GetBuffer());
pDoc->get_documentElement(&pRoot);
pRoot->raw_selectSingleNode(_T("HotkeyConfigure/Hotkey[@id='1']"), &pNode);
CString strXml = (LPWSTR)pNode->Getxml();