读书人

xml解析的有关问题C++ amp; msxml不胜

发布时间: 2012-04-06 12:22:24 作者: rapoo

求一个xml解析的问题,C++ & msxml,不胜感激了
xml内容形如:
<?xml version= "1.0 " encoding= "UTF-8 "?>
<Bundle xmlns:msdata= "urn:schemas-microsoft-com:xml-msdata " xmlns:msprop= "urn:schemas-microsoft-com:xml-msprop " xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance " >
<COM1> 功能1 </COM1>
<COM2> 功能2 </COM2>
<COM3> 功能3 </COM3>
<COM4>
<SubCom1> 子功能1 </SubCom1>
</COM4>
<COM5>
<SubCom1> 子功能1 </SubCom1>
<SubCom2> 子功能2 </SubCom2>
<SubCom3> 子功能3 </SubCom3>
<SubCom4> 子功能4 </SubCom4>
<SubCom5> 子功能5 </SubCom5>
<SubCom6>
<SubCom1> 下一级子功能1 </SubCom1>
</SubCom6>
</COM5>
<COM6>
<SubCom1> 子功能1 </SubCom1>
<SubCom2> 子功能2 </SubCom2>
<SubCom3> 子功能3 </SubCom3>
<SubCom4> 子功能4 </SubCom4>
<SubCom5> 子功能5 </SubCom5>
<SubCom6>
<SubCom1> 下一级子功能1 </SubCom1>
</SubCom6>
</COM6>
</Bundle>
请那位大侠帮我看一下如何解析该文件,为什么我用SelectSingleNode无法得到诸如 <COM3> 功能3 </COM3> 的内容呢?不知那位大侠能够提供一个解析的代码或者解析方法,不胜感激啊!

[解决办法]
<?xml version= '1.0 '?>
<xsl:stylesheet xmlns:xsl= "http://www.w3.org/TR/WD-xsl ">
<xsl:template match= "/ ">
<xsl:apply-templates select= "//COM3 "/>
</xsl:template>
<xsl:template match= "COM3 ">
test: <xsl:value-of select= ". "/>

</xsl:template>
</xsl:stylesheet>
[解决办法]
IXMLDOMDocument3Ptr pXMLDom;
HRESULT hr;
hr = pXMLDom.CreateInstance(__uuidof(DOMDocument50));
if (FAILED(hr))
{
printf( "Failed to instantiate DOMDocument50 class\n ");
//return -1;
}
pXMLDom-> async = VARIANT_FALSE;
if ( pXMLDom-> load(XMLFILE) != VARIANT_TRUE)
{
printf( "Failed load xml data from file.\n%s\n ",
(LPCSTR)pXMLDom-> parseError-> Getreason());
return -1;
}
IXMLDOMNodePtr pNode = pXMLDom-> selectSingleNode(QueryString);

char * pYouWanted = " ";
pYouWanted = sprintf( "%s ", pNode-> text);
cout < <pYouWanted < <endl;

读书人网 >XML SOAP

热点推荐