XML to Objects?

2012-04-19 16:32:22 +08:00
 Livid
Python 中是否有这样的 XML 解析库,可以将这样的 XML 变成一组对象?

<members>
<member><name>a</name></member>
<member><name>b</name></member>
</members>

然后用类似这样的语法就可以读取?

members.member[0].name
3907 次点击
所在节点    Python
16 条回复
eas
2012-04-19 16:33:39 +08:00
E4X 语法
bhuztez
2012-04-19 16:35:29 +08:00
xalinx
2012-04-19 16:38:32 +08:00
运行期是不能这么干的吧? 楼主的意思是根据xml生成一个python代码?
xalinx
2012-04-19 16:42:54 +08:00
@bhuztez 学习了, 回头用用SimpleXMLParse
binux
2012-04-19 16:49:14 +08:00
lizheming
2012-04-19 17:09:19 +08:00
PHP用simplexml的话解析出来的就是Object,可是我每次都想要Array的,所以我还要做一次Object->Array...
Livid
2012-04-19 17:11:47 +08:00
经过试验,这个的结果最接近我想要的,尤其是,对于空元素取值返回的是 u'' 而不是 None:

http://pypi.python.org/pypi/simplexml/0.6.1
ssword
2012-04-20 10:06:57 +08:00
nokogiri的语法比这种更好,xml本身就是有dom的
lyxint
2012-04-20 10:12:50 +08:00
csx163
2012-04-20 21:25:37 +08:00
php 转换非标soap xml转得我想吐
vixvix
2012-04-20 22:19:56 +08:00
magicshui
2012-04-21 22:15:12 +08:00
BS能做这件事情不?
Livid
2012-04-21 22:17:42 +08:00
@magicshui 用 simplexml 可以对我主题里提到的 XML 实现这样的效果:

xml['members']['member'][0]
X_Del
2012-04-21 22:20:05 +08:00
这不是 ORM 吗?不过数据是用 XML 存的而已。
Livid
2012-04-21 22:20:55 +08:00
@X_Del 嗯,类似 ORM 的概念。

有以 XML 作为底层存储的 Python ORM 实现么?
reus
2012-04-21 23:52:44 +08:00
封装一下标准库即可, https://gist.github.com/2437960

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/32643

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX