python 解析XML
发布时间:2020-12-17 17:07:39 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 minidom.parse(filename) doc.documentElement node.getAttribute(AttributeName) node.getElementsByTagName(TagName) node.childNodes node.childNo
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 minidom.parse(filename) doc.documentElement node.getAttribute(AttributeName) node.getElementsByTagName(TagName) node.childNodes node.childNodes[index].nodeValue node.firstChild doc?=?minidom.parse(filename) ?doc.toxml('UTF-8') Node.attributes["id"] <?xml?version="1.0"?encoding="UTF-8"??> <users> ????<user?id="1000001"> ????????<username>Admin</username> ????????<email>[email?protected]</email> ????????<age>23</age> ????????<sex>男</sex> ????</user> ????<user?id="1000002"> ????????<username>Admin2</username> ????????<email>[email?protected]</email> ????????<age>22</age> ????????<sex>男</sex> ????</user> ????<user?id="1000003"> ????????<username>Admin3</username> ????????<email>[email?protected]</email> ????????<age>27</age> ????????<sex>男</sex> ????</user> ????<user?id="1000004"> ????????<username>Admin4</username> ????????<email>[email?protected]</email> ????????<age>25</age> ????????<sex>女</sex> ????</user> ????<user?id="1000005"> ????????<username>Admin5</username> ????????<email>[email?protected]</email> ????????<age>20</age> ????????<sex>男</sex> ????</user> ????<user?id="1000006"> ????????<username>Admin6</username> ????????<email>[email?protected]</email> ????????<age>23</age> ????????<sex>女</sex> ????</user> </users> #?-*-?coding:utf-8?-*- """ *?User:?lhj588 *?Date:?11-11-9 *?Time:?13:20 *?Desc: """? from??xml.dom?import??minidom def?get_attrvalue(node,?attrname): ?????return?node.getAttribute(attrname)?if?node?else?'' def?get_nodevalue(node,?index?=?0): ????return?node.childNodes[index].nodeValue?if?node?else?'' def?get_xmlnode(node,name): ????return?node.getElementsByTagName(name)?if?node?else?[] def?xml_to_string(filename='user.xml'): ????doc?=?minidom.parse(filename) ????return?doc.toxml('UTF-8') def?get_xml_data(filename='user.xml'): ????doc?=?minidom.parse(filename)? ????root?=?doc.documentElement ????user_nodes?=?get_xmlnode(root,'user') ????user_list=[] ????for?node?in?user_nodes:? ????????user_id?=?get_attrvalue(node,'id')? ????????node_name?=?get_xmlnode(node,'username') ????????node_email?=?get_xmlnode(node,'email') ????????node_age?=?get_xmlnode(node,'age') ????????node_sex?=?get_xmlnode(node,'sex') ????????user_name?=get_nodevalue(node_name[0]).encode('utf-8','ignore') ????????user_email?=?get_nodevalue(node_email[0]).encode('utf-8','ignore')? ????????user_age?=?int(get_nodevalue(node_age[0])) ????????user_sex?=?get_nodevalue(node_sex[0]).encode('utf-8','ignore')? ????????user?=?{} ????????user['id']?,?user['username']?,?user['email']?,?user['age']?,?user['sex']?=?( ????????????int(user_id),?user_name?,?user_email?,?user_age?,?user_sex ????????) ????????user_list.append(user) ????return?user_list def?test_xmltostring(): ????print?xml_to_string() def?test_laod_xml(): ????user_list?=?get_xml_data() ????for?user?in?user_list?: ????????#print?user['sex'] ????????print?'-----------------------------------------------------' ????????if?user: ????????????user_str='编???号:%dn用户名:%sn性???别:%sn年???龄:%sn邮???箱:%sn?'?%?(int(user['id'])?,?user['username'],?user['sex']?,?user['email']) ????????????print?user_str ????????????print?'=====================================================' if?__name__?==?"__main__": ????test_xmltostring() ????test_laod_xml() if?__name__?==?"__main__": ????test_xmltostring() <user?id="1000001"> ????????<username>Admin</username> ????????<email>[email?protected]</email> ????????<age>23</age> ????????<sex>男</sex> ????</user> <user?id="1000002"> ????????<username>Admin2</username> ????????<email>[email?protected]</email> ????????<age>22</age> ????????<sex>男</sex> ????</user> <user?id="1000003"> ????????<username>Admin3</username> ????????<email>[email?protected]</email> ????????<age>27</age> ????????<sex>男</sex> ????</user> <user?id="1000004"> ????????<username>Admin4</username> ????????<email>[email?protected]</email> ????????<age>25</age> ????????<sex>女</sex> ????</user> <user?id="1000005"> ????????<username>Admin5</username> ????????<email>[email?protected]</email> ????????<age>20</age> ????????<sex>男</sex> ????</user> <user?id="1000006"> ????????<username>Admin6</username> ????????<email>[email?protected]</email> ????????<age>23</age> ????????<sex>女</sex> ????</user> ----------------------------------------------------- 编???号:1000001 用户名:Admin 性???别:男 年???龄:23 邮???箱:[email?protected] ? ===================================================== ----------------------------------------------------- 编???号:1000002 用户名:Admin2 性???别:男 年???龄:22 邮???箱:[email?protected] ? ===================================================== ----------------------------------------------------- 编???号:1000003 用户名:Admin3 性???别:男 年???龄:27 邮???箱:[email?protected] ? ===================================================== ----------------------------------------------------- 编???号:1000004 用户名:Admin4 性???别:女 年???龄:25 邮???箱:[email?protected] ? ===================================================== ----------------------------------------------------- 编???号:1000005 用户名:Admin5 性???别:男 年???龄:20 邮???箱:[email?protected] ?B、测试解析XML demo.py?文件中修改成 ===================================================== ----------------------------------------------------- 编???号:1000006 用户名:Admin6 性???别:女 年???龄:23 邮???箱:[email?protected] ? ===================================================== 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |