xmltodict は、XML を JSON に変換することに特化したもう 1 つの単純なライブラリです。
次に、簡単な XML ファイルの例を示します。
<?xml version="1.0"?> <mydocument has="an attribute"> <and> <many>elements</many> <many>more elements</many> </and> <plus a="complex"> element as well </plus> </mydocument>
これはサードパーティのパッケージです。処理する前に pip を使用してインストールしてください。
pip install xmltodict
次のように内部の要素、属性、値にアクセスできます:
import xmltodict with open("test.xml") as fd: # 将XML文件装载到dict里面 doc = xmltodict.parse(fd.read()) print(doc["mydocument"]["@has"]) # an attribute print(doc["mydocument"]["and"]) # OrderedDict([(u'many', [u'elements', u'more elements'])]) print(doc["mydocument"]["and"]["many"]) # [u'elements', u'more elements'] print(doc["mydocument"]["plus"]["@a"]) # complex print(doc["mydocument"]["plus"]["#text"]) # element as well xmltodict 也有unparse函数让您可以转回XML。
この関数にはストリーミングがありますこのモードは、メモリに配置できないファイルの処理に適しており、名前空間もサポートしています
xmltodict のインストール: pip3 install xmltodict
demo.py (辞書形式に解析された XML 文字列):
# coding:utf-8 import xmltodict # 导入 # XML格式字符串 xml_str = """ <xml> <Name>张三</Name> <age>18</age> </xml> """ xml_dict = xmltodict.parse(xml_str) # 解析xml字符串 print(type(xml_dict)) # <class 'collections.OrderedDict'> 类字典型,可以按照字典方法操作 print xml_dict # 遍历 for key, val in xml_dict['xml'].items(): print key, "---", val
demo.py (XML 文字列に変換された辞書):
# coding:utf-8 import xmltodict # 导入 # 字典 xml_dict = { "xml": { "name" : u"张三", "age" : 18 } } # 字典转换成XML字符串 # xml_str = xmltodict.unparse(xml_dict) xml_str = xmltodict.unparse(xml_dict, pretty=True) # pretty表示友好输出(有换行) print(xml_str)
以上がxmltodict は Python で XML をどのように操作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。