XML

PythonでXMLを扱うときElementTreeを使う。

from xml.etree.ElementTree import *
#folderのファイルを全部取る
dir_path = "C:\\" # Windowでは、'\'を使わないで、'\\'の方が安全
print os.listdir(dir_path)
fjoin = os.path.join # この関数を使った方が安全
filenames = [fjoin(dir_path, f) for f in os.listdir(dir_path)]
#文字列から
elem = fromstring(XMLString)
#ファイルから
tree = parse(filename) # ElementTree型
elem = tree.getroot() # Element型
# すべての要素を1つずつアクセス
for items in elem.getiterator():
    print items.tag
# データ:XMLフォマットのベトナム語辞書
	<Entry>
		<HeadWord>a</HeadWord>
		<Morphology>
			<WordType>symbol</WordType>
		</Morphology>
		<Syntactic>
			<Category>N</Category>
			<SubCategory>Nt</SubCategory>
		</Syntactic>
		<Semantic>
			<def>con chữ thứ nhất của bảng chữ cái chữ quốc ngữ</def>
		</Semantic>
	</Entry>
# 単語(HeadWord)と品詞情報(Syntactic)を取る
# ただし、Syntactic = Category(1) + SubCategory(*)
    for entry in elem.getiterator("Entry"):
        print entry.findtext("HeadWord")
        print entry[2].findtext("Category") #
        for sub in entry[2].findall("SubCategory"):
            print sub.text
# 結果
a
N
Nt


Comments