>  기사  >  백엔드 개발  >  xmltodict는 Python의 xml에서 어떻게 작동합니까?

xmltodict는 Python의 xml에서 어떻게 작동합니까?

WBOY
WBOY앞으로
2023-05-04 18:04:141207검색

Python xmltodict의 xml 작업

xmltodict은 XML을 JSON으로 변환하는 데 사용되는 또 다른 간단한 라이브러리입니다.

다음은 간단한 예제 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를 사용하여 install

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 Parsing, xmltodict. module

Install 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제