使用 xml.etree.ElementTree 解析 xml 获取指定节点的熟悉值和保持原有格式输出并插入mysql
xml是这样的
<one_list>
<two name="two的name用于测试的" src="中文属性" dst="中文属性">
<任意的></任意的>
</two >
</one_list>
import xml.etree.ElementTree as ET
tree = ET.parse("文件.xml")
root = tree.getroot()
for one_listin root.findall("one_list"):
for two in one_listin.findall("two"):
content = " "+ str(ET.tostring(two , encoding="utf-8").decode(encoding='utf-8'))
name= virus_act.attrib['name']
主要是这行
content = " "+ str(ET.tostring(two , encoding="utf-8").decode(encoding='utf-8'))
根节点没有对齐我试了很多方式都是这样根节点都对不齐
于是前面强制加了空格可以完美对齐了
content是对找到的two节点进行字符串输出
但是节点属性值是中文的 设定编码 encoding
外面再编码 就也可以保存中文属性值并且保留缩进
还有其他很多种保存原来缩进的形式可以参考
https://stackoverflow.com/questions/749796/pretty-printing-xml-in-python