如何在QT中读取XML中的数据???

champion8310 2005-04-28 10:12:10
现在有一个XML文件
<?xml version="1.0"?>
<!DOCTYPE DataSources>

<data-sources>

<!-- PRODUCTION Database For POS -->
<data-source
name="POS"
database="BOX"
driver="MYSQL"
username="metis"
password="metis"
url="localhost"
max-connections="100"
min-connections="50"
inactivity-timeout="30"
>
test
</data-source>

<!-- PRODUCTION Database For CASH -->
<data-source
name="BOX"
database="BOX"
driver="MYSQL"
username="admin"
password="123456789"
url="localhost"
max-connections="100"
min-connections="50"
inactivity-timeout="30"
/>

</data-sources>

用的QT的类库
请问如何在QT中用QDomDocument来操作XML文件中的内容,我要读取XML中每个字段的值??
或者还有其他的方法??请各位帮我看看!!!!
...全文
2308 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pubol 2005-06-14
  • 打赏
  • 举报
回复
我的这个例子的xml结构和你的不太相同
<?xml version="1.0" encoding="gb2312"?>
<元操作>
<类型>
<索引>1</索引>
<标识>playvoice</标识>
<名称>播放语音</名称>
<图标>playvoice.ico</图标>
<参数表>IVRS_Data_Play</参数表>
<出口表>ivrs_mo</出口表>
<参数个数>7</参数个数>
<出口个数>5</出口个数>
</类型>
<类型>
<索引>2</索引>
<标识>leaveword</标识>
<名称>留言</名称>
<图标>leaveword.ico</图标>
<参数表>IVRS_Data_REC</参数表>
<出口表>ivrs_mo</出口表>
<参数个数>7</参数个数>
<出口个数>4</出口个数>
</类型>
<类型>
<索引>3</索引>
<标识>OAC</标识>
<名称>操作员接听</名称>
<图标>OAC.ico</图标>
<参数表>IVRS_Data_OPTalk</参数表>
<出口表>Ivrs_mo</出口表>
<参数个数>8</参数个数>
<出口个数>5</出口个数>
</类型>
</元操作>
你可以参照写出你的代码来
pubol 2005-06-14
  • 打赏
  • 举报
回复
自己可以看看QT助手里面的帮助说明,包括一些自带的例子
pubol 2005-06-14
  • 打赏
  • 举报
回复
bool Ivr_MainForm::initUnit()
{
QFile xmlFile("./config/unit.xml");
QDomDocument domTree;

if ( !xmlFile.open( IO_ReadOnly ) )
{
return false; //不能打开文件
}

if(!domTree.setContent(&xmlFile))
{
xmlFile.close(); //加载XML文件出错
return false;
}

QDomElement root = domTree.documentElement();
QDomNode node;
QDomNodeList nodelist=root.childNodes();
int count=nodelist.length();

for(int i=0;i<nodelist.length();i++)
{
unitType *objunitType=new unitType;

objunitType->typeID=nodelist.item(i).childNodes().item(0).firstChild().nodeValue().toShort();
strcpy(objunitType->unitName,nodelist.item(i).childNodes().item(1).firstChild().nodeValue());
strcpy(objunitType->parTable,nodelist.item(i).childNodes().item(4).firstChild().nodeValue());
strcpy(objunitType->outTable,nodelist.item(i).childNodes().item(5).firstChild().nodeValue());
objunitType->paraCount=nodelist.item(i).childNodes().item(6).firstChild().nodeValue().toShort();
objunitType->outCount =nodelist.item(i).childNodes().item(7).firstChild().nodeValue().toShort();
unitTypeList.Add(objunitType);
}

xmlFile.close();
return true;
}
MeHawk 2005-04-29
  • 打赏
  • 举报
回复
有可用的类库,难道不能自己摸索吗!
champion8310 2005-04-28
  • 打赏
  • 举报
回复
champion8310 2005-04-28
  • 打赏
  • 举报
回复
没有人知道吗???
champion8310 2005-04-28
  • 打赏
  • 举报
回复
顶一下啊,有谁知道吗??
champion8310 2005-04-28
  • 打赏
  • 举报
回复
mark???
怎么操作法???有没有具体实例啊???
yuhjnm_20001 2005-04-28
  • 打赏
  • 举报
回复
mark

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧