XE3随笔15:从XML中解析
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[].AsString);
ShowMessage(jo['#children'].AsArray[].AsString); ShowMessage(jo['#children'].AsArray[]['#children'].AsArray[].AsString); {张三}
ShowMessage(jo['#children'].AsArray[]['#attributes.sex'].AsString); {男}
ShowMessage(jo['#children'].AsArray[]['#children'].AsArray[].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.
XE3随笔15:从XML中解析的更多相关文章
- XE3随笔15:使用 IXMLHTTPRequest 简单获取网页源代码
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...
- 《手写Mybatis》第4章:Mapper XML的解析和注册使用
作者:小傅哥 系列:https://bugstack.cn/md/spring/develop-mybatis/2022-03-20-%E7%AC%AC1%E7%AB%A0%EF%BC%9A%E5%B ...
- 用 ElementTree 在 Python 中解析 XML
用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...
- 转 web项目中的web.xml元素解析
转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45) 阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ...
- 源码跟读,Spring是如何解析和加载xml中配置的beans
Spring版本基于: 跟踪代码源码基于: https://github.com/deng-cc/KeepLearning commit id:c009ce47bd19e1faf9e07f12086c ...
- log4j的1.2.15版本,在pom.xml中的顶层project报错错误: Failure to transfer javax.jms:jms:jar:1.1 from https://maven-repository.dev.java.net/nonav/repository......
在动态网站工程中,添加了Pom依赖,当添加log4j的1.2.15版本依赖时,在pom.xml中的顶层project报错错误: Failure to transfer javax.jms:jms:ja ...
- JAVA 中XML的解析
XML: 可扩展标记语言(extensible Markup Language) 用于标记电子文件使其具有结构性的标记语言.XML可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定 ...
- CSS控制XML与通过js解析xml然后通过html显示xml中的数据
使用CSS控制XML的显示 book.css bookname{ display:block;color:Red} author{ display:block;font-style:italic} p ...
- 在.NET2.0中解析Json和Xml
在.NET解析json有很多方法,这里介绍最简单也用的最多的一种. 一.添加引用 解析Json,先下载开源控件 Newtonsoft.Json.dll 下载地址:http://files.cnblog ...
随机推荐
- Welcome to China
subway, railway, highway ,way way to dieofficer,announcer, professor, sir sir to lieWelcome to China
- JAVA-系统-【3】-java应用连接oracle正常,但是网页却报错java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
这是因为jar包已经导入了项目的应用部分,网页的lib去没有导入. 导入以后还要刷新项目,最好重启tomcat,就解决了..
- RandomAccessFile使用小结
本文是基于Linux环境运行,读者阅读前需要具备一定Linux知识 RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,既可以读取文件内容,也可以向文件输出数据.与 ...
- 新版本eclipse Neon 4.6.1,登录git报401 没有权限
新版本eclipse Neon 4.6.1,登录git报401 没有权限 经过查找原因竟然是新的eclipse需要进行update.比较坑,新版eclipse竟然需要先更新一下才能用! eclipse ...
- XidianOJ 1195 Industry of Orz Pandas
--正文 贪心 排序好慢慢找就好 #include <iostream> #include <cstring> #include <cstdio> #include ...
- php用simplexml来操作xml
<?php$username = 'zhansan';if (!file_exists('001.xml')){ $fp = fopen('001.xml', 'w'); $xmlContent ...
- diary and html 文本颜色编辑,行距和其它编辑总汇
p{line-height:1.2em;}/*段落行间距为2倍.*/ 几小块文字有白色的底色很突兀,显得难看.打开html,那儿有background color的设置,值是#FFFFFF. 对照ht ...
- 修改C# 新建类模板
找到安装路径下的这个文件夹:D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplatesCache\CSh ...
- 使用web图标
http://www.lovelucy.info/demo/twitter-bootstrap-custom-icons/
- bootstrap制作搜索框及添加回车搜索事件
下面是开发中用bootstrap制作的一个搜索框,以及给搜索框添加回车搜索事件的一个小案例. bootstrap制作搜索框及添加回车搜索事件 下面是功能实现的代码: <!DOCTYPE html ...