我最近想解析一个xml文件,但遇到问题,文件结构如下:
<?xml version="1.0" encoding="gb2312"?>
<class name="酒店">
<layer value="1" table="tbl_hotel" />
<layer value="2" table="tbl_room" />
<field layer="1">
<name nameen="hotelname" namecn="酒店名称" />
<name nameen="star" namecn="星级" />
<name nameen="city" namecn="城市" />
</field>
<field layer="2">
<uplink name="hotelid" />
<name nameen="room" namecn="房型" />
<name nameen="price" namecn="价格" />
<name nameen="checkindate" namecn="入住日期" />
</field>
</class>
<class name="other">
</class>
...
************
我想先找到name="酒店"这个class节点,然后把里面的数据存在一个结构中,下面是我的代码:
//加载文件
pDoc->load("e:\\config\\datastructure.xml");
//查找包含数据结构的节点
MSXML2::IXMLDOMNodeListPtr pListNode;
MSXML2::IXMLDOMNodePtr pDomNode;
pListNode=pDoc->selectNodes((_bstr_t)"class");
int num=pListNode->Getlength();
for (int i=0;i<num;i++)
{
pDomNode=pListNode->Getitem(i);
//进行到这一步以后我就不知道该怎么继续查找了
}
我找到了class的链表,但怎样找到name="酒店"的节点呢,然后怎样继续把下面的子节点统统找出来呢,请大家指教。分不够还可在其他帖子加。
<?xml version="1.0" encoding="gb2312"?>
<class name="酒店">
<layer value="1" table="tbl_hotel" />
<layer value="2" table="tbl_room" />
<field layer="1">
<name nameen="hotelname" namecn="酒店名称" />
<name nameen="star" namecn="星级" />
<name nameen="city" namecn="城市" />
</field>
<field layer="2">
<uplink name="hotelid" />
<name nameen="room" namecn="房型" />
<name nameen="price" namecn="价格" />
<name nameen="checkindate" namecn="入住日期" />
</field>
</class>
<class name="other">
</class>
...
************
我想先找到name="酒店"这个class节点,然后把里面的数据存在一个结构中,下面是我的代码:
//加载文件
pDoc->load("e:\\config\\datastructure.xml");
//查找包含数据结构的节点
MSXML2::IXMLDOMNodeListPtr pListNode;
MSXML2::IXMLDOMNodePtr pDomNode;
pListNode=pDoc->selectNodes((_bstr_t)"class");
int num=pListNode->Getlength();
for (int i=0;i<num;i++)
{
pDomNode=pListNode->Getitem(i);
//进行到这一步以后我就不知道该怎么继续查找了
}
我找到了class的链表,但怎样找到name="酒店"的节点呢,然后怎样继续把下面的子节点统统找出来呢,请大家指教。分不够还可在其他帖子加。
解决方案 »
- vc中 JPG图片如何实现平铺,拉伸等属性,已经可以显示图片
- 看看顶圣诞贴的人多,还是顶我这个贴的人多?|| VC/MFC论坛怀念毛主席诞辰114周年专贴
- 我编辑了一个DLL库的程序,也编辑一个测试程序,可是测试程序不好使,请进入帮助解决(编的DLL程序在别的测试程序好使)
- 串口读数据问题
- 求snmp trap 发送的源码或相关报道
- 一小段代码 谁能告诉我意思是?
- 请教:如何按行读取一个文本文件的每一行?
- svTemp.Format("%f",lvFvalue); lvFvalue = -1.7541212E-004 ,svTemp返回多少,我断点显示不了,大家帮我试试
- 在静态分割视窗时,总是出现这样的错误提示(见内)该如何解决?
- dxf文件读取
- 倾囊请教重发机制问题
- com+客户程序
http://blog.csdn.net/zhaoyawei/archive/2006/04/17/666876.aspx