私はプログラムを持っていますが、クラスの概念を含まないもの(Pythonプログラムはクラスの概念に何らかの価値を持っています)は、Pythonの世界では本当に新しいものです。ですから、元の方法から学ぶことは、私がこの世界で輝くのを助けてくれます。この質問を否定的なマークにする代わりに、誰かが親切に私を助けてくれますか:(
import xml.etree.ElementTree as ET
import sys
doc = ET.parse("books.xml")
root = doc.getroot()
root_new = ET.Element("books")
for child in root:
name = child.attrib['name']
cost = child.attrib['cost']
# create "book" here
book = ET.SubElement(root_new, "book")
book.set("name",name)
book.set("cost",cost)
if 'color' in child.attrib:
color = child.attrib['color']
book.set("color",color)
if 'weight' in child.attrib:
weight = child.attrib['weight']
book.set("weight",weight)
for g in child.findall("cover"):
# create "group" here
cover = ET.SubElement(cover,"cover")
if g.text != "goldcover":
cover.text = g.text
tree = ET.ElementTree(root_new)
tree.write(sys.stdout)
理解のために:私のxmlは、
<books>
<book name="goodbook" cost="10" color="green"></book>
<book name="badbook" cost="1000" weight="100"><cover>papperback</cover><cover>hardcover</cover></book>
<book name="avgbook" cost="99" weight="120"></book>
</books>
Pythonの新入生として、誰かが私を助けてくれることを願っています。すべての貴重な入力を温かく歓迎します。