关闭

XML文件的读写操作

49人阅读 评论(0) 收藏 举报

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');

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:215次
    • 积分:20
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档