文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 218
阅读 18
收藏 0

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

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

遗憾的是对中文不够友好.
unit Unit1;

interface

uses
  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.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/10/27/1590777.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
JSon SuperObject 研究2:数据集与JSON对象互转

JSon SuperObject 研究2:数据集与JSON对象互转 JSON不能完全替代XML,但绝对是未来的大势所趋,其优点是简单、体积小、解析更快、解析占用资源更少。在delphi中,数据集是最常用数据存取方式...

vga
2014/12/20
0
1
js中this的总结(转载)

在面向对象编程语言中,对于this关键字我们是非常熟悉的。比如C++、C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了,用起来是非常方便和意义确定的。JavaScr...

xiaoqiang
2010/05/30
35
0
Android之JSON的三种解析方式

一、什么是JSON?JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符串 只不过元素会使用特定的...

我叫leo-
2016/04/21
59
0
springMVC各类视图输出实例分析

模板视图 FreeMarkerViewResolver 、 VolocityViewResolver 这两个视图解析器都是 UrlBasedViewResolver 的子类。 FreeMarkerViewResolver 会把 Controller 处理方法返回的逻辑视图解析为 Fr...

~少司命~
2017/10/31
0
0
Ubuntu 14 下用 C 语言开发 HTML 解析工具(有附件)

概述 根据开源html/json/xml/regex处理库, 为facebook/youtube/twitter三个网站中的列表页和帖子页编写解析工具。结果以JSON格式输出,附件中有JSON格式说明。 什么是列表页和帖子页? 举例...

天台道人
2016/01/12
21
9

没有更多内容

加载失败,请刷新页面

加载更多

撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
16分钟前
0
0
《配电网自动化技术》第一章

写了配电网的组成、历程、难点、存在问题、解决方案,还是蛮好的。尤其是各地建设的系统后续又无法实用化,以及多种终端反而增加了运维工作量等,都是目前切实存在的让大家不停吐槽的内容。

max佩恩
21分钟前
0
0

中国龙-扬科
39分钟前
2
0
使用vuex的state状态对象的5种方式

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。 下面给大家来贴一下我的vuex的结构 下面是store文件夹下的state.js和index.js内容 //state.jsconst state =...

peakedness丶
43分钟前
2
0
NetCore MVC Demo

地址:http://114.116.9.72:5411

whltian
50分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部