BCB 的对XML的读写

总结:
C++ Builder 出来XML文档总结:
例如处理以下的XML:
<?xml version="1.0" encoding="GB2312"?> //注意这里的编码格式为GB2312,否则有乱码<VTip><Tip><Mode>0</Mode><Time>2003/4/25?08:01:46</Time><Content>洗衣服</Content></Tip><Tip><Mode>1</Mode><Time>2003/4/25?PM 17:30:00</Time><Content>陪女朋友吃饭</Content></Tip></VTip>
首先打开读取文件
XMLDoc->LoadFromFile(WideString(PathString(AppPath)+"Tip.xml"));//XMLDoc是TXMLDocument的名字
XMLDoc->Active=true;
_di_IXMLNode node=XMLDoc->DocumentElement;//DocumentElement属性用来得到根节点
_di_IXMLNodeList nodes=node->ChildNodes;//得到子节点List
for(int n=0;n<nodes->Count;n++)
{TListItem* li=lstMain->Items->Add();
node=nodes->Nodes[n]->ChildNodes->Nodes[0];//得到子节点的子节点,也也就是 VTip//Tip//Mode
int m=String(node->GetText()).ToInt();//得到对应节点的Text内容并转换到Int
li->Caption="";
li->ImageIndex=m+5;
li->SubItems->Add(nodes->Nodes[n]->ChildNodes->Nodes[1]->GetText());
li->SubItems->Add(nodes->Nodes[n]->ChildNodes->Nodes[2]->GetText());//代码同上
}
lstMain->Items->EndUpdate();
写成XML文件:
_di_IXMLNode node=XMLDoc->DocumentElement;
node=node->AddChild(WideString("Tip"));
_di_IXMLNode subnode=node->AddChild(WideString("Mode"));
subnode->SetText(WideString(m));
subnode=node->AddChild(WideString("Time"));
subnode->SetText(WideString(date.DateString()+"?"+time.TimeString()));
subnode=node->AddChild(WideString("Content"));subnode->SetText(WideString(con));

删除 XML
int ind=lstMain->Selected->Index;//ind为要删除的节点号
_di_IXMLNode node=XMLDoc->DocumentElement;
int re=node->ChildNodes->Delete(ind);
if (re!=-1)lstMain->Items->Delete(ind);

写成XML后的格式化  xml的格式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值