使用相同的元素实例python创建xml条目
我有一个大的XML文件,我想从中得到一个新的XML文件中条目的特定值(这将减少从大XML文件到新XML文件的大小) 现在我编写上述代码:使用相同的元素实例python创建xml条目,python,xml,lxml,Python,Xml,Lxml,我有一个大的XML文件,我想从中得到一个新的XML文件中条目的特定值(这将减少从大XML文件到新XML文件的大小) 现在我编写上述代码: #!/usr/bin/env python from lxml import etree dst = "/root/Downloads/lilmalxml.xml" dsttemp = "/root/Downloads/malxml.xml" filehandler = etree.parse(dsttemp) rootElement = e
#!/usr/bin/env python
from lxml import etree
dst = "/root/Downloads/lilmalxml.xml"
dsttemp = "/root/Downloads/malxml.xml"
filehandler = etree.parse(dsttemp)
rootElement = etree.Element("list")
doc = etree.ElementTree(rootElement)
for entry in filehandler.xpath("///entry"):
virusname = entry.find("virusname").text
url = entry.find("url").text
ip = entry.find("ip").text
formatstr = "<url ip='{0}' virusname='{1}'><![CDATA[{2}]]></url>".format(ip,virusname,url)
sub = etree.fromstring(formatstr)
rootElement.append(sub)
f = open(dst,"w")
doc.write(f,encoding='utf-8',method='xml')
f.close()
print "FINISHED"
你有没有其他方法来添加条目,但格式和我一样 我看到在输出文件中创建了不同的
url
元素。不知道你在问什么。你期望的输出是什么?谢谢。当我试图在gedit上打开它时,它会阻塞,若我在Leafpad上打开它,它会显示xml的混乱,一切都会覆盖一切。我所说的覆盖是指元素覆盖了它们自己,看起来很混乱,元素不清晰。那么doc.write(f,encoding='utf-8',method='xml',pretty_print=True)
?哇,我没想到这一点!它像魔术一样工作!非常感谢你!!
<entry>
<line>1</line>
<id>88871349</id>
<first>1456571225</first>
<last>0</last>
<md5></md5>
<virustotal>http://www.virustotal.com/latest-report.html?resource=b637e57062280a903ee05f397feeea24</virustotal>
<vt_score>27/56 (48.2%)</vt_score>
<scanner>undef</scanner>
<virusname><![CDATA[Generic7.RAL]]></virusname>
<url><![CDATA[http://xiazaiqi2.xpgod.com/down/yy%20at%20134_1062.exe]]></url>
<recent>up</recent>
<response>alive</response>
<ip>222.186.130.206</ip>
<as>AS4134</as>
<review>61.164.110.151</review>
<domain>xpgod.com</domain>
<country>CN</country>
<source>APNIC</source>
<email>anti_spam@wz.zj.cn</email>
<inetnum>61.164.108.0 - 61.164.111.255</inetnum>
<netname>RUIAN-TELECOM</netname>
<descr><![CDATA[Ruian Telecom]]></descr>
<ns1>ns3.dnsv3.com</ns1>
<ns2>ns4.dnsv3.com</ns2>
<ns3></ns3>
<ns4></ns4>
<ns5></ns5>
</entry>