交流:大家在处理xml时使用哪些模块,其优缺点是什么?解决思路
交流:大家在处理xml时使用哪些模块,其优缺点是什么?
大家在处理xml时使用哪些模块,其优缺点是什么?
Perl也好,Python也好,处理xml的模块都不止一种,也或者有高人会自己编写也说不定。
大家分享一下处理xml时的一点经验。
------解决方案--------------------
XML文件格式:
大家在处理xml时使用哪些模块,其优缺点是什么?
Perl也好,Python也好,处理xml的模块都不止一种,也或者有高人会自己编写也说不定。
大家分享一下处理xml时的一点经验。
------解决方案--------------------
XML文件格式:
- XML code
<job DecreaseHour="2" table="tpa_radio_sum" ne_type="101" timestamp="first_result" where="and ne_type=101 and sv_id=-1 and sv_cat_id =-1"> <checklist expression="SFB_DIVFLOAT_1(nvl(sdcch_seiz,0),nvl(ATT_SDCCH_SEIZ,0),0,0)"> <field>sdcch_seiz,</field> <field>ATT_SDCCH_SEIZ</field> </checklist> </job>
------解决方案--------------------
py里,我用的是xml.etree得ElementTree模块,优点是py2内含,轻量级吧。。
------解决方案--------------------
要说方便,还是xpath是王道。我在clojure里一般都是自己包装的xml.dom+xml.xpath。
Perl的XML::Simple也还不错,我在clojure里也山寨了一个xml.simple。不过用的不多,因为很多时候XML::Simple需要加一大堆参数,还不如xpath了。
Python里用的不多,以前为了性能考虑,用过lxml2。基本上也是dom那一套。那个项目结束之后就没怎么用过了。
xml的应用种类太多了,不同的应用有不同的工具。我自己山寨过不少。比如是抓取xml字段信息,还是用xml做模版,还是数据转换或者序列化。数据多了的时候xml又很容易成为应用瓶颈。总之xml这东西,少用为妙。
------解决方案--------------------
Perl,,Python,xpath
------解决方案--------------------
前段时间做了一个项目,大量用了Linq to XML,不过大神们的说法太专业了 不是很懂。。。。。
------解决方案--------------------
------解决方案--------------------
import xml.dom.minidom
我以前用c#操作过xml,
用py引用这个包操作xml的时候,感觉各种调用函数都差不多,容易上手
------解决方案--------------------
C++ 再把C++接口导给python.
------解决方案--------------------
解析xml的开销大,这个是什么模块都无法绕开的缺点
------解决方案--------------------
XML::Twig 也是相当不错的perl模块
------解决方案--------------------
我只会用xml.dom.minidom和xml.etree.ElementTree,对我已经够用了
------解决方案--------------------
minidom
------解决方案--------------------
自己用到的很简单,高人们的分析拜读了
------解决方案--------------------
謝謝大大的分享呀!!!非常感激...
------解决方案--------------------
<cooperate>
<job DecreaseHour="1" table="tpa_radio_sum" ne_type="101" timestamp="first_result1" where="and ne_type=101 and sv_id=-1 and sv_cat_id
=-1">
<checklist expression="SFB_DIVFLOAT_1(nvl(sdcch_seiz,0),nvl(ATT_SDCCH_SEIZ,0),0,0)">
<field>sdcch_seiz,</field>
<field>ATT_SDCCH_SEIZ</field>
</checklist>
</job>
<job DecreaseHour="2" table="tpa_radio_sum" ne_type="102" timestamp="first_result2" where="and ne_type=101 and sv_id=-1 and sv_cat_id
=-1">
<checklist expression="SFB_DIVFLOAT_1(nvl(sdcch_seiz,0),nvl(ATT_SDCCH_SEIZ,0),0,0)">
<field>sdcch_seiz,</field>
<field>ATT_SDCCH_SEIZ</field>
</checklist>
</job>
<job DecreaseHour="3" table="tpa_radio_sum" ne_type="103" timestamp="first_result3" where="and ne_type=101 and sv_id=-1 and sv_cat_id