交流:大家在处理xml时使用哪些模块,其优缺点是什么?

fibbery 2012-01-06 10:11:50
加精
大家在处理xml时使用哪些模块,其优缺点是什么?

Perl也好,Python也好,处理xml的模块都不止一种,也或者有高人会自己编写也说不定。

大家分享一下处理xml时的一点经验。
...全文
2242 65 打赏 收藏 转发到动态 举报
写回复
用AI写文章
65 条回复
切换为时间正序
请发表友善的回复…
发表回复
刻剑求舟 2012-06-09
  • 打赏
  • 举报
回复
use XML::Simple; 简单
sdsnbc 2012-06-06
  • 打赏
  • 举报
回复
minidom
原因:
1)这是标准库里的东西。
2)dom是w3c推荐的规范。
  • 打赏
  • 举报
回复
还不知道怎么使用这两个模块,能提供一点教程页面么
zydscaline 2012-01-17
  • 打赏
  • 举报
回复
[Quote=引用 59 楼 lishangzhao 的回复:]
还不知道怎么使用这两个模块,能提供一点教程页面么
[/Quote]同上
OOMM 2012-01-16
  • 打赏
  • 举报
回复
lxml
liveths 2012-01-16
  • 打赏
  • 举报
回复
有啥优点呢?不就是自己写一个
Goddea 2012-01-13
  • 打赏
  • 举报
回复
马克。。我之前也碰到这个问题了,感觉Python处理XML尤其是HTML好像不大方便阿
Kaile 2012-01-12
  • 打赏
  • 举报
回复
tinyxml for C++
fengling2001 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 52 楼 kaile 的回复:]

tinyxml for C++
[/Quote]
之前用过,觉得还可以
shi518 2012-01-11
  • 打赏
  • 举报
回复

这几天正在用libxml2,
挺不错的
sixes56 2012-01-11
  • 打赏
  • 举报
回复

这几天正在用libxml2,
挺不错的。

不过刚开始时报R6034的错误,狠诡异的错误,
不知楼上几个牛人能否解释下这是为啥。

解决办法是在
stdafx.h加入这句
#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='X86' publicKeyToken='1fc8b3b9a1e18e3b' language='*'\"")


有点走题。。。
liveths 2012-01-11
  • 打赏
  • 举报
回复
不告诉你
lfsf802 2012-01-11
  • 打赏
  • 举报
回复
不懂
  • 打赏
  • 举报
回复
我还不怎么会用py的xml 模块有没有好一点的教程介绍
sdudubing 2012-01-11
  • 打赏
  • 举报
回复
都不懂啊,好崇拜大家哈
ms0614 2012-01-10
  • 打赏
  • 举报
回复
现在只能看懂xml,后面的解析过程不太了解
iambic 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 37 楼 gaoguiping1988 的回复:]
有很多job这样的标签,要解析出各个job的DecreaseHour属性,table属性等呢?怎么弄啊?怎么写一个java程序得出各个job的属性呢?
[/Quote]
我自己包装的clojure库:
(use 'xml.dom)
(prn (->> xml xml->doc (xpath-nodes "//job") (map get-attributes)))

输出:
({"DecreaseHour" "1", "ne_type" "101", "table" "tpa_radio_sum", "timestamp" "first_result1", "where" "and ne_type=101 and sv_id=-1 and sv_cat_id =-1"} {"DecreaseHour" "2", "ne_type" "102", "table" "tpa_radio_sum", "timestamp" "first_result2", "where" "and ne_type=101 and sv_id=-1 and sv_cat_id =-1"} {"DecreaseHour" "3", "ne_type" "103", "table" "tpa_radio_sum", "timestamp" "first_result3", "where" "and ne_type=101 and sv_id=-1 and sv_cat_id =-1"})

如果只是想拿到所有的DecreaseHour:
(prn (->> xml xml->doc (xpath-nodes "//job/@DecreaseHour") (map get-text)))

输出:
("1" "2" "3")

其实用dom和xpath,其他语言也大同小异,就是看语言或者库便利与否。
kooyou68 2012-01-10
  • 打赏
  • 举报
回复
请问C++如果调用处理XML文件?
zhang8812332 2012-01-10
  • 打赏
  • 举报
回复
之做个java的
shinerise 2012-01-10
  • 打赏
  • 举报
回复
C语言,直接掉libxml接口。libxml基本上是C代码支持XML解析最全的,支持xpath语法。用户用起来很简单,很舒服。
加载更多回复(25)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧