JSON 之 SuperObject(14): 从 XML 中解析

来源:互联网 发布:淘宝怎么做详情页 编辑:程序博客网 时间:2024/06/04 18:50

JSON 之 SuperObject(14): 从 XML 中解析


SuperObject 文件包中还有一个 SuperXmlParser 单元, 可以从 XML 中解析出 ISuperObject.

SuperXmlParser 只有三个函数: XMLParseString、XMLParseStream、XMLParseFile, 分别从字符串、流、文件中解析.

遗憾的是对中文不够友好.
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    Button2: TButton;    Memo1: TMemo;    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}uses SuperObject, SuperXmlParser;procedure TForm1.Button1Click(Sender: TObject);var  jo: ISuperObject;begin  jo := XMLParseString('<Person><Name sex="男">张三</Name><Age>123</Age></Person>');  ShowMessage(jo.AsString);  ShowMessage(jo['#children'].AsArray[0].AsString);  ShowMessage(jo['#children'].AsArray[1].AsString);  ShowMessage(jo['#children'].AsArray[0]['#children'].AsArray[0].AsString); {张三}  ShowMessage(jo['#children'].AsArray[0]['#attributes.sex'].AsString);      {男}  ShowMessage(jo['#children'].AsArray[1]['#children'].AsArray[0].AsString); {123}end;//使用压缩procedure TForm1.Button2Click(Sender: TObject);var  jo: ISuperObject;begin  jo := XMLParseString('<Person><Name sex="男">张三</Name><Age>123</Age></Person>', True);  ShowMessage(jo.AsString);  ShowMessage(jo['Name.Name'].AsString); {张三}  ShowMessage(jo['Name.sex'].AsString);  {男}  ShowMessage(jo['Age'].AsString);       {123}end;end.
原创粉丝点击