首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

xml解析的有关问题,C++ & msxml,不胜感激了

2012-04-06 
求一个xml解析的问题,C++ & msxml,不胜感激了xml内容形如:?xmlversion 1.0 encoding UTF-8 ?Bund

求一个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;

热点排行