最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的xmltodict模塊詳解

 更新時(shí)間:2023年07月26日 09:12:44   作者:Looooking  
這篇文章主要介紹了Python中的xmltodict模塊詳解,xmltodict一般我們用 json、yaml 轉(zhuǎn)換成 dict 可能多一些,xml 轉(zhuǎn)到 dict 可能用得不多,不過,還是可以來看一看,需要的朋友可以參考下

xmltodict

這好像是第三方依賴包,需要自己用 pip 去進(jìn)行安裝才可以使用的。

pip3 install xmltodict

至于這個(gè)模塊是干什么的,其實(shí)看名字就能夠猜到八九不離十。一般我們用 json、yaml 轉(zhuǎn)換成 dict 可能多一些,xml 轉(zhuǎn)到 dict 可能用得不多,不過,還是可以來看一看。

xml 字符串解析

 先來個(gè)簡單的 xml 瞧一瞧。

<?xml version='1.0' encoding='utf-8'?>
<project>
    <artifact>
        <versionType>BVersion</versionType>
        <repoType>Generic</repoType>
        <id>
            <offering>openEuler</offering>
            <version>openEuler 1.1.T1.B010</version>
        </id>
        <isClear>Y</isClear>
        <copies>
            <copy>
                <source>/dist</source>
                <dest></dest>
            </copy> 
        </copies>
    </artifact>
</project>

解析 xml

import xmltodict
import json
xml_result = open('testdb.xml', 'r')
xml_dict = xmltodict.parse(xml_result.read())
print(type(xml_dict))
json_str = json.dumps(xml_dict, indent=2)
print(json_str)

輸出結(jié)果(為了方便好看,我把結(jié)果字典字符串轉(zhuǎn)換成了帶縮進(jìn)的形式),從下面結(jié)果可以看出,其實(shí)解析得到的字典是有序字典。

你可能會(huì)問為什么是有序字典而不是普通字典呢?

這個(gè)當(dāng)然是為了讓字典的順序和 xml 元素的順序保持一致(畢竟,xml 文件元素順序變化了的話就已經(jīng)不再是原來的那個(gè) xml 文件了)。

<class 'collections.OrderedDict'>
{
  "project": {
    "artifact": {
      "versionType": "BVersion",
      "repoType": "Generic",
      "id": {
        "offering": "openEuler",
        "version": "openEuler 1.1.T1.B010"
      },
      "isClear": "Y",
      "copies": {
        "copy": {
          "source": "/dist",
          "dest": null
        }
      }
    }
  }
}

dict 轉(zhuǎn)成 xml 字符串

import xmltodict
xml_dict = {
  "project": {
    "artifact": {
      "versionType": "BVersion",
      "repoType": "Generic",
      "id": {
        "offering": "openEuler",
        "version": "openEuler 1.1.T1.B010"
      },
      "isClear": "Y",
      "copies": {
        "copy": {
          "source": "/dist",
          "dest": None
        }
      }
    }
  }
}
xml_str = xmltodict.unparse(xml_dict, pretty=True)
print(xml_str)

輸出結(jié)果。

<?xml version="1.0" encoding="utf-8"?>
<project>
	<artifact>
		<versionType>BVersion</versionType>
		<repoType>Generic</repoType>
		<id>
			<offering>openEuler</offering>
			<version>openEuler 1.1.T1.B010</version>
		</id>
		<isClear>Y</isClear>
		<copies>
			<copy>
				<source>/dist</source>
				<dest></dest>
			</copy>
		</copies>
	</artifact>
</project>

到此這篇關(guān)于Python中的xmltodict模塊詳解的文章就介紹到這了,更多相關(guān)Python中的xmltodict內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python實(shí)現(xiàn)視頻自動(dòng)下載軟件

    基于Python實(shí)現(xiàn)視頻自動(dòng)下載軟件

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)一個(gè)自動(dòng)下載視頻、彈幕、評論的軟件,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下
    2022-08-08
  • Python對ElasticSearch獲取數(shù)據(jù)及操作

    Python對ElasticSearch獲取數(shù)據(jù)及操作

    這篇文章主要為大家詳細(xì)介紹了Python對ElasticSearch獲取數(shù)據(jù)及操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景

    python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景

    鉤子函數(shù)(hook function)是把我們自己實(shí)現(xiàn)的hook函數(shù)在某一時(shí)刻掛接到目標(biāo)掛載點(diǎn)上,這篇文章主要介紹了python強(qiáng)大的hook函數(shù)使用及應(yīng)用場景,需要的朋友可以參考下
    2023-05-05
  • python3 sqlite3限制條件查詢的操作

    python3 sqlite3限制條件查詢的操作

    這篇文章主要介紹了python3 sqlite3限制條件查詢的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 深入理解Python中的range()函數(shù)用法、原理與實(shí)戰(zhàn)指南

    深入理解Python中的range()函數(shù)用法、原理與實(shí)戰(zhàn)指南

    range()函數(shù)是Python中生成數(shù)字序列的基礎(chǔ)工具,支持多種調(diào)用方式和參數(shù)組合,適用于循環(huán)控制、數(shù)據(jù)處理、性能優(yōu)化和高級應(yīng)用,掌握其用法和特性,可以提高代碼的效率和可讀性,本文給大家介紹Python中的range()函數(shù)用法、原理與實(shí)戰(zhàn)指南,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 使用Python實(shí)現(xiàn)自動(dòng)化獲取文件的全面指南

    使用Python實(shí)現(xiàn)自動(dòng)化獲取文件的全面指南

    在現(xiàn)代數(shù)據(jù)處理和分析中,文件獲取是不可或缺的第一步,使用 Python 進(jìn)行文件獲取自動(dòng)化,能夠顯著提升效率并降低錯(cuò)誤率,下面我們就來看看具體實(shí)現(xiàn)方法吧
    2025-07-07
  • Python中運(yùn)維神器Psutil的用法詳解

    Python中運(yùn)維神器Psutil的用法詳解

    Python的開源庫psutil為我們提供了一個(gè)強(qiáng)大的工具,能夠輕松獲取和分析系統(tǒng)利用率的信息,下面就跟隨小編一起深入了解一下它的具體使用吧
    2025-02-02
  • pytorch標(biāo)簽轉(zhuǎn)onehot形式實(shí)例

    pytorch標(biāo)簽轉(zhuǎn)onehot形式實(shí)例

    今天小編就為大家分享一篇pytorch標(biāo)簽轉(zhuǎn)onehot形式實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python高效合并Excel多Sheet工作表

    Python高效合并Excel多Sheet工作表

    在日常辦公中,我們經(jīng)常會(huì)遇到一個(gè)Excel文件里包含多個(gè)工作表的情況,下面小編就來和大家詳細(xì)介紹一下如何使用Python實(shí)現(xiàn)高效合并Excel多Sheet工作表吧
    2025-09-09
  • 詳解Python中open()函數(shù)指定文件打開方式的用法

    詳解Python中open()函數(shù)指定文件打開方式的用法

    well,我們這里所指的文件打開方式并不是指調(diào)用什么應(yīng)用程序去打開某個(gè)文件,而是只讀只寫或者二進(jìn)制等的打開方式,這里我們就來詳解Python中open()函數(shù)指定文件打開方式的用法
    2016-06-06

最新評論

金门县| 沭阳县| 石景山区| 峨山| 江陵县| 阿城市| 萝北县| 本溪| 桦甸市| 临武县| 安宁市| 平谷区| 讷河市| 丰镇市| 淳安县| 武邑县| 昭苏县| 奎屯市| 成安县| 靖宇县| 阳城县| 左权县| 水城县| 凯里市| 金阳县| 神农架林区| 西乌珠穆沁旗| 五家渠市| 通州区| 山阳县| 邵阳市| 泰兴市| 巴林左旗| 柳林县| 拉孜县| 天等县| 麻城市| 社旗县| 浑源县| 江陵县| 教育|