<?xml version="1.0" encoding="UTF-8" ?>
- <Licence_Service>
- <Version_1>
<Version>1.0.0</Version>
</Version_1>
- <SeriesNo_1>
<SeriesNo>3453</SeriesNo>
</SeriesNo_1>
- <BeginTime_1>
<BeginTime>2010-3-27</BeginTime>
</BeginTime_1>
- <EndTime_1>
<EndTime>2010-3-27</EndTime>
</EndTime_1>
- <Declare_1>
<Declare>中国音乐集体管理组织与天合文化集团有限公司</Declare>
</Declare_1>
- <DeFind_1>
<DeFind>34534534</DeFind>
</DeFind_1>
- <OverTime_1>
<OverTime>2010-3-27</OverTime>
</OverTime_1>
- <DontPlay_1>
<DontPlay>Y</DontPlay>
</DontPlay_1>
- <Licence_Commands>
- <setmessage index="1">
<server>Y</server>
<client>Y</client>
<tvbox>Y</tvbox>
<interval>45</interval>
<response>45</response>
<ge_date>2010-3-27</ge_date>
<le_date>2010-3-27</le_date>
<command>7</command>
<text>34534</text>
<textdb>34534534534</textdb>
<textTV>34534534534</textTV>
<Tcolor>N/A</Tcolor>
<background>R</background>
<pict>345</pict>
<rect>4,45,45,45</rect>
</setmessage>
- <setmessage index="2">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
- <setmessage index="3">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
- <setmessage index="4">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
- <setmessage index="5">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
</Licence_Commands>
</Licence_Service>
读这个XML文件有问题。#include "stdafx.h"
#include <windows.h>
#include <msxml.h>
#include <iostream>
#import "msxml.dll" rename_namespace("xml")
using namespace std ; CoInitialize(NULL) ;
xml::IXMLDOMDocumentPtr pDoc ;
xml::IXMLDOMElementPtr pElem ;
xml::IXMLDOMNodePtr pNode ;
xml::IXMLDOMNodeListPtr pNodeList ;
HRESULT hr = pDoc.CreateInstance(__uuidof(xml::DOMDocument)) ; //创建文档对象
if(!SUCCEEDED(hr))
{
cout<<"无法创建DM对象!"<<endl ;
return 0 ;
}
VARIANT_BOOL bFlag;
bFlag = pDoc->load(L"BitComet.xml") ; //load xml文件
if(bFlag == S_FALSE)
{
cout<<"打开BitComet.xml出错!"<<endl ;
return 0 ;
}
hr = pDoc->get_documentElement(&pElem) ; //获取根结点
if(pElem == NULL)
{
cout<<"获取根结点失败!"<<endl ;
return 0 ;
}
BSTR strTagName = NULL;
hr = pElem->get_tagName(&strTagName) ;
cout<<"------TagName------"<<endl ;
wcout <<strTagName<<endl ;
SysFreeString(strTagName) ;
hr = pElem->get_childNodes(&pNodeList) ; //获取子结点列表
long lCount;
hr = pNodeList->get_length(&lCount) ;
for(long i=0; i<lCount; ++i)
{
xml::DOMNodeType NodeType ;
xml::IXMLDOMNodeListPtr pChildNodeList ;
hr = pNodeList->get_item(i, &pNode) ; //获取结点
hr = pNode->get_nodeType(&NodeType) ; //获取结点信息的类型
if(xml::NODE_ELEMENT == NodeType)
{
hr = pNode->get_childNodes(&pChildNodeList) ;
long childLen ;
pChildNodeList->get_length(&childLen) ;
//设置宽字符区域(类似于国域)chs代表简体中文..可以在msdn上查询
wcout.imbue(locale("chs")) ;
cout << "------NodeList------" << endl ;
for (int j=0; j<childLen; ++j)
{
xml::IXMLDOMNodePtr pChildNode ;
BSTR strValue ;
hr = pChildNodeList->get_item(j, &pChildNode) ;
hr = pChildNode->get_nodeName(&strValue) ; //获取结点名字
wcout<<strValue<<endl ;
SysFreeString(strValue) ;
hr = pChildNode->get_text(&strValue) ; //获取结点的值
wcout<<strValue<<endl<<endl ;
SysFreeString(strValue) ;
pChildNode.Release() ;
}
}
pNode.Release() ;
pChildNodeList.Release() ;
}
pNodeList.Release() ;
pElem.Release() ;
pDoc.Release() ;
CoUninitialize() ; return 0 ;
- <Licence_Service>
- <Version_1>
<Version>1.0.0</Version>
</Version_1>
- <SeriesNo_1>
<SeriesNo>3453</SeriesNo>
</SeriesNo_1>
- <BeginTime_1>
<BeginTime>2010-3-27</BeginTime>
</BeginTime_1>
- <EndTime_1>
<EndTime>2010-3-27</EndTime>
</EndTime_1>
- <Declare_1>
<Declare>中国音乐集体管理组织与天合文化集团有限公司</Declare>
</Declare_1>
- <DeFind_1>
<DeFind>34534534</DeFind>
</DeFind_1>
- <OverTime_1>
<OverTime>2010-3-27</OverTime>
</OverTime_1>
- <DontPlay_1>
<DontPlay>Y</DontPlay>
</DontPlay_1>
- <Licence_Commands>
- <setmessage index="1">
<server>Y</server>
<client>Y</client>
<tvbox>Y</tvbox>
<interval>45</interval>
<response>45</response>
<ge_date>2010-3-27</ge_date>
<le_date>2010-3-27</le_date>
<command>7</command>
<text>34534</text>
<textdb>34534534534</textdb>
<textTV>34534534534</textTV>
<Tcolor>N/A</Tcolor>
<background>R</background>
<pict>345</pict>
<rect>4,45,45,45</rect>
</setmessage>
- <setmessage index="2">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
- <setmessage index="3">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
- <setmessage index="4">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
- <setmessage index="5">
<server>N/A</server>
<client>N/A</client>
<tvbox>N/A</tvbox>
<interval>N/A</interval>
<response>N/A</response>
<ge_date>N/A</ge_date>
<le_date>N/A</le_date>
<command>0</command>
<text>N/A</text>
<textdb>N/A</textdb>
<textTV>N/A</textTV>
<Tcolor>N/A</Tcolor>
<background>N/A</background>
<pict>N/A</pict>
<rect>N/A</rect>
</setmessage>
</Licence_Commands>
</Licence_Service>
读这个XML文件有问题。#include "stdafx.h"
#include <windows.h>
#include <msxml.h>
#include <iostream>
#import "msxml.dll" rename_namespace("xml")
using namespace std ; CoInitialize(NULL) ;
xml::IXMLDOMDocumentPtr pDoc ;
xml::IXMLDOMElementPtr pElem ;
xml::IXMLDOMNodePtr pNode ;
xml::IXMLDOMNodeListPtr pNodeList ;
HRESULT hr = pDoc.CreateInstance(__uuidof(xml::DOMDocument)) ; //创建文档对象
if(!SUCCEEDED(hr))
{
cout<<"无法创建DM对象!"<<endl ;
return 0 ;
}
VARIANT_BOOL bFlag;
bFlag = pDoc->load(L"BitComet.xml") ; //load xml文件
if(bFlag == S_FALSE)
{
cout<<"打开BitComet.xml出错!"<<endl ;
return 0 ;
}
hr = pDoc->get_documentElement(&pElem) ; //获取根结点
if(pElem == NULL)
{
cout<<"获取根结点失败!"<<endl ;
return 0 ;
}
BSTR strTagName = NULL;
hr = pElem->get_tagName(&strTagName) ;
cout<<"------TagName------"<<endl ;
wcout <<strTagName<<endl ;
SysFreeString(strTagName) ;
hr = pElem->get_childNodes(&pNodeList) ; //获取子结点列表
long lCount;
hr = pNodeList->get_length(&lCount) ;
for(long i=0; i<lCount; ++i)
{
xml::DOMNodeType NodeType ;
xml::IXMLDOMNodeListPtr pChildNodeList ;
hr = pNodeList->get_item(i, &pNode) ; //获取结点
hr = pNode->get_nodeType(&NodeType) ; //获取结点信息的类型
if(xml::NODE_ELEMENT == NodeType)
{
hr = pNode->get_childNodes(&pChildNodeList) ;
long childLen ;
pChildNodeList->get_length(&childLen) ;
//设置宽字符区域(类似于国域)chs代表简体中文..可以在msdn上查询
wcout.imbue(locale("chs")) ;
cout << "------NodeList------" << endl ;
for (int j=0; j<childLen; ++j)
{
xml::IXMLDOMNodePtr pChildNode ;
BSTR strValue ;
hr = pChildNodeList->get_item(j, &pChildNode) ;
hr = pChildNode->get_nodeName(&strValue) ; //获取结点名字
wcout<<strValue<<endl ;
SysFreeString(strValue) ;
hr = pChildNode->get_text(&strValue) ; //获取结点的值
wcout<<strValue<<endl<<endl ;
SysFreeString(strValue) ;
pChildNode.Release() ;
}
}
pNode.Release() ;
pChildNodeList.Release() ;
}
pNodeList.Release() ;
pElem.Release() ;
pDoc.Release() ;
CoUninitialize() ; return 0 ;
<setmessage>这个标签能读到。怎么读<pict>标签和内容,最好分开显示。