サンプルは添付ファイルからダウンロードできます
1. XML ファイルをロードします
XML ファイルをロードするには 2 つの方法があります。1 つは指定された文字列をロードする方法、もう 1 つは指定されたファイルをロードする方法です
2要素を取得するメソッド
a) getiterator を介して
b) getchildren を介して
c) find メソッド
d) findall メソッド
例は次のとおりです:
コードをコピーします コードは次のようになります:
#-*-coding:utf-8 -*-
from xml.etree import ElementTree
def print_node(node):
''''print 基本ノード情報''''
print "========================= ============= =========
print "node.attrib:%s" % node.attrib
if node.attrib.has_key("age ") > 0 :
print "node.attrib['age']:%s" % node.attrib['age']
print "node.tag:%s" % node.tag
print "node.text:%s" % node.text
def read_xml(text):
'''''XML ファイルを読み込む'''
# XML ファイルをロードします (2 つのメソッド、1 つは指定された文字列をロードする場合、もう 1 つは指定されたファイルをロードする場合です)
# root = ElementTree.parse(r"D:test.xml")
root = ElementTree.fromstring(text)
# 要素を取得するメソッド
# 1 ~ getiterator
lst_node = root.getiterator("person")
lst_node のノード:
print_node(node)
# 2 ~ getchildren
lst_node_child = lst_node[0].getchildren()[0 ]
print_node(lst_node_child)
# 3.find メソッド
node_find = root.find('person')
print_node(node_find)
#4. findall メソッド
node_findall = root.findall("person/name")[1]
print_node(node_findall)
if __name__ = = '__main__':
# read_xml(open("test.xml").read())
write_xml(open("test.xml").read())