delphi读写XML

XML文件内容;
  1. <?xml version="1.0" encoding="GB2312"?>
  2. <我的书>
  3.  
  4.    <漫画 作者="小飞">
  5.         <书名>火影忍者</书名>
  6.         <价格>100</价格>
  7.     </漫画>
  8.     <漫画 作者="大飞">
  9.         <书名>死神</书名>
  10.         <价格>100</价格>
  11.     </漫画>
  12.     <漫画 作者="阿斗">
  13.         <书名>天牢</书名>
  14.         <价格>200</价格>
  15.     </漫画>
  16.     <小说 作者="阿斗">
  17.         <书名>天牢</书名>
  18.         <价格>200</价格>
  19.     </小说>
  20. </我的书>




delphi内容;
  1. unit Unit1;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;
  6. type
  7. TForm1 = class(TForm)
  8.     Button1: TButton;
  9.     Memo1: TMemo;
  10.     XMLDocument1: TXMLDocument;
  11.     procedure Button1Click(Sender: TObject);
  12. private
  13.     { Private declarations }
  14. public
  15.     { Public declarations }
  16. end;
  17. mybook = class
  18.     name: string;
  19.     money: string;
  20.     author: string;
  21. end;
  22. var
  23. Form1: TForm1;
  24. implementation
  25. {$R *.dfm}
  26. procedure TForm1.Button1Click(Sender: TObject);
  27. var
  28. root: IXMLnode;
  29. lei: IXMLNode;
  30. info: IXMLNode;
  31. book: mybook;
  32. i: integer;
  33. begin
  34. xmldocument1.LoadFromFile('xml.xml');
  35. root := xmldocument1.DocumentElement;
  36. lei := root.ChildNodes.First;
  37. while lei <> nil do
  38. begin
  39.     if lei.NodeName = '漫画' then
  40.     begin
  41.       book := mybook.Create;
  42.       book.author := lei.Attributes['作者'];
  43.       info := lei.ChildNodes.First;
  44.       while info <> nil do
  45.       begin
  46.         if info.NodeName = '书名' then
  47.           book.name := info.Text
  48.         else if info.NodeName = '价格' then
  49.           book.money := info.Text;
  50.         info := info.NextSibling;
  51.         //showmessage('中华人民共和国');
  52.       end;
  53.       memo1.Lines.Add(book.name + book.money + book.author);
  54.     end;
  55.     lei := lei.NextSibling;
  56. end;
  57. end;
  58. end.
写XML

  1. procedure TForm1.btn2Click(Sender: TObject);
  2. var
  3.     a, b, c:IXMLNode;
  4. begin
  5.     xmlDocument.Active := true;
  6.     xmlDocument.Version := '1.0';
  7.     xmlDocument.Encoding := 'gb2312';
  8.     a := xmlDocument.AddChild('第一个节点');
  9.     b := a.AddChild('第一个节点的子节点');
  10.     c := b.AddChild('第一个节点的子节点的子节点');
  11.     c.Text := '第一个节点的子节点的子节点的标题';
  12.     xmlDocument.SaveToFile('e://pas//Rule.xml');
  13. end;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi是一种编程语言和集成开发环境,它提供了读写XML文件的功能。在Delphi中,可以使用TXMLDocument组件来处理XML文件。 要读取XML文件,首先需要在代码中创建TXMLDocument对象,并通过其LoadFromFile方法将XML文件加载到内存中。加载完成后,可以通过访问TXMLDocument对象的DocumentElement属性来获取XML文件的根元素。使用DocumentElement属性返回的是一个IXMLNode接口类型的对象,可以通过其子节点和属性来访问XML文件中的数据。 对于写入XML文件,同样需要创建TXMLDocument对象,并通过其LoadFromFile方法加载或创建一个XML文件。然后,可以通过代码中的赋值或添加子节点的方式来设置XML文档的结构和数据。最后,使用TXMLDocument对象的SaveToFile方法将修改后的XML文档保存到磁盘上。 在读写XML文件时,可能还需要使用到IXMLNode接口的其他方法和属性。例如,使用ChildNodes属性可以获取当前节点的所有子节点,使用Attributes属性可以获取当前节点的所有属性,使用Text属性可以获取或设置当前节点的文本内容。 除了基本的读写功能,Delphi还提供了其他用于处理XML的组件和库函数。例如,可以使用XPath来定位XML文件中的节点,使用XSLT进行XML数据的转换,使用XMLDataBinding创建与XML结构对应的对象模型等等。 总的来说,Delphi提供了丰富和方便的功能来读写XML文件,使开发人员可以轻松地处理XML数据。无论是对于简单的XML文件操作还是复杂的XML数据处理,都可以通过Delphi的强大的XML处理功能来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值