>  기사  >  백엔드 개발  >  Python에서 XML을 예쁘게 인쇄하기

Python에서 XML을 예쁘게 인쇄하기

WBOY
WBOY앞으로
2023-09-07 19:41:02974검색

Python에서 XML을 예쁘게 인쇄하기

Python에서 XML 데이터로 작업할 때 가독성과 구조를 보장하면 코드에 대한 이해와 유지 관리 가능성이 크게 향상될 수 있습니다. XML을 예쁘게 인쇄하는 것, 즉 적절한 들여쓰기와 줄 바꿈으로 형식을 지정하는 것은 이러한 목표를 달성하는 데 유용한 기술입니다.

이 기사에서는 Python을 사용하여 XML을 예쁘게 인쇄하는 두 가지 방법인 xml.dom.minidom과 xml.etree.ElementTree를 살펴보겠습니다. 이러한 방법을 이해함으로써 개발자는 XML 데이터를 체계적이고 시각적으로 매력적인 방식으로 효과적으로 표현하여 분석 및 조작을 더 쉽게 만들 수 있습니다.

Python에서 XML을 예쁘게 인쇄하는 방법은 무엇인가요?

파이썬에서 예쁜 인쇄를 수행할 수 있는 두 가지 방법은 다음과 같습니다. -

방법 1: xml.dom.minidom 사용

xml.dom.minidom을 사용하여 예쁜 인쇄를 수행하기 위해 취할 단계는 다음과 같습니다. -

  • 필수 모듈 가져오기: 먼저 XML 구문 분석을 위한 DOM(문서 개체 모델) API의 경량 구현을 제공하는 "xml.dom.minidom" 모듈을 가져옵니다.

  • `pretty_print_xml_minidom` 함수 정의: 이 함수는 XML 문자열을 입력으로 받아들이고 `xml.dom.minidom`을 사용하여 인쇄하기 위해 XML을 구문 분석하고 아름답게 만드는 일을 담당합니다.

  • XML 문자열 구문 분석: `pretty_print_xml_minidom` 함수 내에서 `xml.dom.minidom.parseString()` 메서드를 사용하여 XML 문자열을 구문 분석하고 DOM 객체를 생성합니다.

  • 예쁜 인쇄 XML: 다음으로 DOM 객체에 "topprettyxml()" 메서드를 사용하여 예쁜 인쇄 XML 문자열을 생성합니다. 원하는 들여쓰기 수준(이 경우 공백 두 개)을 지정하기 위해 """ 값과 함께 "indent" 매개변수를 전달합니다.

  • 빈 줄 제거: 기본적으로 `toprettyxml()`은 출력에 빈 줄을 추가합니다. 이러한 빈 줄을 제거하려면 예쁜 XML 문자열을 개행 문자(`n`)로 분할하고 각 줄의 선행 또는 후행 공백을 제거한 다음 비어 있지 않은 줄을 다시 연결합니다.

  • Pretty XML 인쇄: 마지막으로 생성된 Pretty XML 문자열을 인쇄합니다.

절차 2: xml.etree.ElementTree 사용

다음은 xml.etree.ElementTree를 사용하여 예쁜 인쇄를 수행하는 동안 따라야 할 단계입니다. -

  • 필요한 모듈 가져오기: 먼저 XML 구문 분석 및 조작을 위한 빠르고 효율적인 API를 제공하는 `xml.etree.ElementTree` 모듈을 가져옵니다.

  • 정의 `indent` 함수: XML 요소에 들여쓰기를 반복적으로 추가하는 데 사용되는 사용자 정의 함수입니다. `elem` 매개변수(XML 요소)와 선택적인 `level` 매개변수를 사용하여 현재 들여쓰기 수준을 지정합니다(기본값은 0).

  • Indent XML: `indent` 함수에서 `text``tail`을 수정하여 XML 요소의 indent > 속성을 ​​추가합니다. `text` 속성은 여는 태그 바로 뒤의 텍스트를 나타내고, `tail` 속성은 닫는 태그 바로 앞의 텍스트를 나타냅니다. 이러한 속성에 들여쓰기를 추가하면 예쁜 인쇄가 가능해집니다.

  • `pretty_print_xml_elementtree` 함수 정의: 이 함수는 XML 문자열을 입력으로 사용하고 `xml.etree.ElementTree`를 사용하여 XML을 구문 분석하고 예쁘게 인쇄하는 일을 담당합니다.

  • XML 문자열 구문 분석: `pretty_print_xml_elementtree` 함수 내에서 `ET.fromstring()` 메서드를 사용하여 XML 문자열을 구문 분석하고 ElementTree 객체를 생성합니다.

  • Indent XML: XML의 루트 요소에 대해 `indent()` 함수를 호출하여 모든 요소에 반복적으로 들여쓰기를 추가합니다.

  • XML 요소를 다시 문자열로 변환: `ET.tostring()` 메서드를 사용하여 XML 요소를 다시 문자열 표현으로 변환합니다. 결과 문자열의 올바른 인코딩을 보장하기 위해 `"unicode"` 값과 함께 `encoding` 매개변수를 전달합니다.

  • Pretty XML 인쇄: 마지막으로 생성된 Pretty XML 문자열을 인쇄합니다.

이 두 프로그램은 XML을 예쁘게 인쇄하는 다양한 방법을 제공합니다. 첫 번째 프로그램은 `xml.dom.minidom`에서 제공하는 DOM API를 활용하여 XML을 구문 분석하고 예쁘게 인쇄하는 반면, 두 번째 프로그램은 `xml.etree.ElementTree` 모듈을 사용하고 들여쓰기를 추가하는 사용자 정의 함수를 정의합니다. XML 요소를 재귀적으로 사용합니다.

다음은 위의 두 가지 방법을 사용한 프로그램의 예입니다 -

옵션 1: xml.dom.minidom 사용

으아아아

출력

import xml.dom.minidom

def pretty_print_xml_minidom(xml_string):
   # Parse the XML string
   dom = xml.dom.minidom.parseString(xml_string)

   # Pretty print the XML
   pretty_xml = dom.toprettyxml(indent="  ")

   # Remove empty lines
   pretty_xml = "\n".join(line for line in pretty_xml.split("\n") if line.strip())

   # Print the pretty XML
   print(pretty_xml)

# Example usage
xml_string = '''
<root>
  <element attribute="value">
   <subelement>Text</subelement>
  </element>
</root>
'''

pretty_print_xml_minidom(xml_string)

절차 2: xml.etree.ElementTree 사용

으아아아

출력

<?xml version="1.0" ?>
<root>
  <element attribute="value">
   <subelement>Text</subelement>
  </element>
</root>

결론

요약하자면, Python에서 XML을 예쁘게 인쇄하는 것은 XML 데이터의 가독성과 구조를 향상시키는 데 중요합니다. xml.dom.minidom 또는 xml.etree.ElementTree 라이브러리를 사용하면 개발자는 적절한 들여쓰기로 XML 형식을 쉽게 지정할 수 있습니다. 이러한 기술을 사용함으로써 프로그래머는 Python 프로젝트에서 XML 데이터로 작업할 때 코드 이해를 향상시키고 디버깅을 단순화하며 더 나은 공동 작업을 촉진할 수 있습니다.

위 내용은 Python에서 XML을 예쁘게 인쇄하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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