
本文的最新更新时间为2016年5月14日. 更新时间未超过1年. 如果文章内容无效解析xml,请反馈给我,谢谢!

=开始=

最近,我使用Masscan超级端口扫描仪进行扫描. 扫描后,便是数据处理和分析. 通常,XML文件用于存储扫描结果(尽管我更喜欢使用列表格式存储)结果,例如: scantastic-tool工具是用Python编写的,调用Masscan / Nmap进行端口扫描解析xml,然后使用xmltodict模块来解析生成的XML文件,并将分析结果导入ElasticSearch,最后使用Kibana将其显示. 因为我觉得解析XML文件的功能非常常用,所以我学习了如何使用xmltodict模块,感觉还不错.

#将XML解析为OrderedDict

import xmltodict, json
myxml = """<mydocument has="an attribute">
<and>
<many>elements</many>
<many>more elements</many>
</and>
<plus a="complex">
element as well
</plus>
</mydocument>"""
myxml_dict = xmltodict.parse(myxml) #用 parse 进行解析
print json.dumps(myxml_dict) #解析后的内容可以直接用json.dumps处理
print myxml_dict['mydocument']['@has'] # == u'an attribute' 「@开头的是指Element的属性」
print myxml_dict['mydocument']['and']['many'] # == [u'elements', u'more elements']
print myxml_dict['mydocument']['plus']['@a'] # == u'complex'
print myxml_dict['mydocument']['plus']['#text'] # == u'element as well' 「#开头的是指Element的值」
#将字典转换为XML格式的字符串
mydict = {
'text': {
'@color':'red',
'@stroke':'2',
'#text':'This is a test'
}
}
mydict_xml = xmltodict.unparse(mydict, pretty=True) #用 unparse 可以将dict转换成XML格式的字符串
print mydict_xml
"""
<?xml version="1.0" encoding="utf-8"?>
<text stroke="2" color="red">This is a test</text>
"""
print xmltodict.unparse(mydict, pretty=True)
= END =
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-240007-1.html
最后的茜的镜头鸡皮疙瘩都起来了好美
收拾他好简单嘛
用船撞