XML文件的读写操作

XML文件的读写操作 xmlDoc: IXMLDocument;

1.  IXMLDocument对象初始化

xmlDoc := TXMLDocument.Create(nil);

2.  激活xmlDoc,自动初始化空的XML文档

xmlDoc.Active := True;

3.  设置XML版本和字符集

xmlDoc.Version := '1.0';

 xmlDoc.Encoding := 'GB2312';

4.  建立根节点、设置属性并添加子节点

xmlNode := xmlDoc.AddChild('图书馆');//根节点

BookNode := xmlNode.AddChild('Book');//子节点

BookNode.SetAttributeNS('ID', '=', '001');//设置属性

MsgNode := BookNode.AddChild('作者');

MsgNode.Text := '作者1';//设置节点的文本值

MsgNode := BookNode.AddChild('价钱');

 MsgNode.Text := '100';

5.  XML的保存

xmlDoc.SaveToFile('C:/xmlDoc.xml');

 

XML文件的读取

1.  IXMLDocument对象初始化

xmlDoc:=TXMLDocument.Create(nil);

2.  调入XML文件

xmlDoc.LoadFromFile('C:/xmlDoc.xml');

3.       XML文件的根结点和子节点的内容

begin

  //xmlDoc.XML.Text := 'C:/xmlDoc.xml';

  xmlDoc:=TXMLDocument.Create(nil);

  xmlDoc.LoadFromFile('C:/xmlDoc.xml');

  xmlNode := xmlDoc.DocumentElement;

  BookNode := xmlNode.ChildNodes.First;

  while (BookNode <> nil) do

  begin

    if (BookNode.NodeName = 'Book') then

    begin

      Book := TBook.Create;

      MsgNode := BookNode.ChildNodes.First;

      while (MsgNode <> nil) do

      begin

        if (MsgNode.NodeName = '作者') then

          Book.Author := MsgNode.Text

        else if (MsgNode.NodeName = '价钱') then

          Book.Price := StrToInt(MsgNode.Text);

        MsgNode := MsgNode.NextSibling;

      end;

      Memo1.Text := Memo1.Text + #10#13 + 'Book:作者' + Book.Author

      + '价格' + IntToStr(Book.Price);

      Memo1.Text := Memo1.Text + #10#13 + IntToStr(Book.Price);

    end;

    BookNode := BookNode.NextSibling;

  end;

end;

 

XML文件的追加信息

xmlDoc := TXMLDocument.Create(nil);

xmlDoc.LoadFromFile('C:/xmlDoc.xml');

  xmlNode := xmlDoc.DocumentElement;

  BookNode := xmlNode.AddChild('Book');

  BookNode.SetAttributeNS('ID', '=', '003');

  MsgNode := BookNode.AddChild('作者');

  MsgNode.Text := '作者3';

  MsgNode := BookNode.AddChild('价钱');

  MsgNode.Text := '80';

  xmlDoc.SaveToFile('C:/xmlDoc.xml');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值