ホームページ >バックエンド開発 >Python チュートリアル >Pythonのシリアル化関数のxmlについて詳しく紹介します。
この記事では主にPythonのシリアル化関数のxmlを詳しく紹介しますので、興味のある方は参考にしてみてください
上記はxmlテキストを処理したい場合のモジュールです。輸入する必要がある。 import xml.etree.ElementTree as ET#xml モジュールの名前が長すぎるため、as を使用して ET という別の名前を付けました。 ET.parse() は、ファイルから XML テキストを直接読み取り、XML テキストを解析して XML ツリー オブジェクトに変換します。 tree = ET.parse("diva.xml") XML ツリーのルート ノードを取得します。 root =tree.getroot()ルートノードのラベル(名前)を取得します。 root.tag#XML ドキュメントのトラバース root の子の場合: print(child.tag, child.attrib) 子の i の場合: print(i.tag,i.text)注意! XML テキストの下の子ノードを取得する場合は、ルート ノードを介して取得する必要があります。ノードの後に .tag を追加して、ノード内のタグ名を取得します。各ノードに含まれるコンテンツを取得するには、任意のノードに .text を追加します。 node. 、attrib はノード内のラベルに存在する属性を取得できます。 #各子ノードの album_sales_volume タグ内のテキスト コンテンツを取得します。 for i in root.iter("album_sales_volume"): print i.text #ラベル内の属性を取得したい場合は、テキストを attrib に変更するだけです。 変更: forノードin root.iter('year'): new_year = int(node.text) + 1node.text = str(new_year) #Modify contentnode.set(" flop","no") #ラベル属性を変更します。 tree.write("xmltest.xml")削除: root.findall('country') の国用: Rank = int(country.find('rank').text) ifランク > 50: Root.remove(country)tree.write('output.xml')root.findall() は、ルート ノードから検索して、指定された名前を持つ子ノードを見つけるために使用されます。 root.remove() はノードを削除するために使用されます。 XML テキストを生成します。 xml.etree.ElementTreeをETとしてインポートしますnew_xml = ET.Element("namelist")name = ET.SubElement(new_xml,"name",attrib={"enrolled":"yes"}) age = ET.SubElement(name,"age",attrib={"checked":"no"})sex = ET.SubElement(name,"sex")sex.text = '33'name2 = ET.SubElement(new_xml,"name",attrib={"enrolled":"no"})age = ET.SubElement(name2,"age")age.text = '19'et = ET.ElementTree(new_xml) #ドキュメントオブジェクトを生成et.write("test.xml", encoding="utf-8",xml_declaration=True)ET.dump(new_xml) #生成されたフォーマットを印刷
以上がPythonのシリアル化関数のxmlについて詳しく紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。