如何用Delphi的TXMLDocument控制件来修改、删除、添加XML文件中的值?
我的XML文件结构如下:
<?xml version="1.0" encoding="GB2312" ?>
<ROWDATA>
<ROW>
<NAME>模版一</NAME>
<SQL1>
select * from table_1 where dwdm = ? group by dwdm 1
</SQL1>
<SQL2>
select * from table_1 where dwdm = ?
</SQL2>
</ROW>
<ROW>
<NAME>模版二</NAME>
<SQL1>
select * from table_2
where dwdm = ? group by dwdm 2
</SQL1>
<SQL2>
select * from table_2 where dwdm = ?
</SQL2>
</ROW>
<ROW>
<NAME>模版三</NAME>
<SQL1>
select * from table_3 where dwdm = ? group by dwdm 3
</SQL1>
<SQL2>
select * from table_3 where dwdm = ?
</SQL2>
</ROW>
</ROWDATA>
我现在有如下几个问题:
<用"NAME"来定位>
1、如何修改NAME=“模版三”的SQL2的值?
2、如何删除NAME=“模版三”的所有值(包括"NAME","SQL1","SQL2"三个字段值)?
3、如何往该XML文件中,添加一个新的“模版四”的值
即在模版三后面添加:
NAME=“模版四”
SQL1=“select * from table_4 where dwdm = ? group by dwdm 4”
SQL2=“select * from table_4 where dwdm = ?”(希望大家不要把那个读取学生信息的XMl例子的代码帖过来。)谢谢啦!分不够再开帖。
我的XML文件结构如下:
<?xml version="1.0" encoding="GB2312" ?>
<ROWDATA>
<ROW>
<NAME>模版一</NAME>
<SQL1>
select * from table_1 where dwdm = ? group by dwdm 1
</SQL1>
<SQL2>
select * from table_1 where dwdm = ?
</SQL2>
</ROW>
<ROW>
<NAME>模版二</NAME>
<SQL1>
select * from table_2
where dwdm = ? group by dwdm 2
</SQL1>
<SQL2>
select * from table_2 where dwdm = ?
</SQL2>
</ROW>
<ROW>
<NAME>模版三</NAME>
<SQL1>
select * from table_3 where dwdm = ? group by dwdm 3
</SQL1>
<SQL2>
select * from table_3 where dwdm = ?
</SQL2>
</ROW>
</ROWDATA>
我现在有如下几个问题:
<用"NAME"来定位>
1、如何修改NAME=“模版三”的SQL2的值?
2、如何删除NAME=“模版三”的所有值(包括"NAME","SQL1","SQL2"三个字段值)?
3、如何往该XML文件中,添加一个新的“模版四”的值
即在模版三后面添加:
NAME=“模版四”
SQL1=“select * from table_4 where dwdm = ? group by dwdm 4”
SQL2=“select * from table_4 where dwdm = ?”(希望大家不要把那个读取学生信息的XMl例子的代码帖过来。)谢谢啦!分不够再开帖。
解决方案 »
- 关于Tlistview控件编辑感知的问题,高手进,低手也进来学习!这有可能是一个旷世难题!
- word2003现在不是MDI窗口的,原来是MDI窗口的,谁做过类似WORD2003那样的 窗口样式 。谢谢!还有FOXMAIL也一样
- 谁有正版DELPHI,帮忙编译,收费不要太高哦
- 打印出现乱码,不知道怎么解决,各各帮帮忙!!!!1
- 多媒体、网络及游戏高手成立的开发团队,欢迎加入
- 怎样动态创建按钮?
- 窗体的问题,太难了!呵呵。。。。
- 想问问各位
- 送分,delphi5的注册吗???
- update table set string_field=string_field+'my home' 出现错误?
- 有关字符串操作的两个问题,请高人相助
- 我用shellexecute打开一个word,怎么取得它的句柄?
Delphi版的没有,VB.NET倒是有一个.
http://www.csdn.com.cn/program/849.htm
http://lysoft.7u7.net
VAR
Root : IXMLNode; //指向XML根结点
Parent_Node: IXMLNode; //指向ROWDATA结点
Child_node : IXMLNode; //指向ROW的子结点
Begin
XMLDocument1.Active:=True;
XMLDocument1.Option:=XMLDocument1.Option+[doAutoSave];
Root := XMLDocument1.DocumentElement;
Parent_Node:=Root.ChildNodes[2];
Child_node :=Parent_Node.ChildNodes[2];
Child_node.text:=''; //输入你想修改后的内容;
End;//删除NAME=“模版三”的所有值(包括"NAME","SQL1","SQL2"三个字段值)
VAR
Root : IXMLNode; //指向XML根结点
Child_node1: IXMLNode; //指向ROWDATA结点
Child_node2 : IXMLNode; //指向ROW的子结点
Child_node3 : IXMLNode; //指向ROW的子结点
Begin
XMLDocument1.Active:=True;
XMLDocument1.Option:=XMLDocument1.Option+[doAutoSave];
Child_node1 :=XMLDocument1.DocumentElement.ChildNodes[2].ChildNodes[0];
Child_node1.text:='' //取空就算删除吧
Child_node2 :=XMLDocument1.DocumentElement.ChildNodes[2].ChildNodes[1];
Child_node2.text:='' //取空就算删除吧
Child_node3 :=XMLDocument1.DocumentElement.ChildNodes[2].ChildNodes[2];
Child_node3.text:='' //取空就算删除吧
End;//往该XML文件中,添加一个新的“模版四”的值
var
NewStock: IXMLNode;
ValueNode: IXMLNode;
begin
NewStock := XMLDocument1.DocumentElement.AddChild('ROW');
ValueNode := NewStock.AddChild('name');
ValueNode.Text := '模版四';
ValueNode := NewStock.AddChild('SQL1');
ValueNode.Text := 'select * from table_4 where dwdm = ? group by dwdm 4';
ValueNode := NewStock.AddChild('SQL2');
ValueNode.Text := 'select * from table_4 where dwdm = ?';
end;