xmltodict は Python で XML をどのように操作しますか?

WBOY
リリース: 2023-05-04 18:04:14
転載
1223 人が閲覧しました

Python xmltodict の xml に対する操作

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&#39;many&#39;, [u&#39;elements&#39;, u&#39;more elements&#39;])])
    print(doc["mydocument"]["and"]["many"])   # [u&#39;elements&#39;, u&#39;more elements&#39;]
    print(doc["mydocument"]["plus"]["@a"])    # complex
    print(doc["mydocument"]["plus"]["#text"]) # element as well
xmltodict 也有unparse函数让您可以转回XML。
ログイン後にコピー

この関数にはストリーミングがありますこのモードは、メモリに配置できないファイルの処理に適しており、名前空間もサポートしています

Python XML 解析、xmltodict モジュール

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 &#39;collections.OrderedDict&#39;>  类字典型,可以按照字典方法操作
 
print xml_dict
 
# 遍历
for key, val in xml_dict[&#39;xml&#39;].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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート