Is teanga marcála ildánach í XML, nó Teanga Markup In-Extensible, a úsáidtear go coitianta chun doiciméid a ionchódú i bhformáid atá inléite ag an duine agus atá inléite ag an duine. Úsáidtear an fhormáid seo go forleathan chun sonraí a aistriú, comhaid chumraíochta a chruthú, agus seirbhísí gréasáin a fhorbairt.
I ndoiciméid XML, cuimsítear eilimintí laistigh de chlibeanna a léiríonn tús agus deireadh gach eilimint, ag soláthar struchtúr soiléir do na sonraí.
Sampla de XML:
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
Scrúdaíonn an t -alt seo leabharlanna agus modhanna éagsúla atá ar fáil chun XML a pharsáil i Python.
Ansin, déanfaimid na leabharlanna éagsúla atá ar fáil le haghaidh eastóscadh sonraí XML i Python, agus déanfaimid tú a threorú tríd an bpróiseas suiteála chun do thimpeallacht a bhunú chun oibriú le doiciméid XML.
Is modúl caighdeánach leabharlainne é Xml.eTree.ElementTree chun sonraí XML a pharsáil agus a chruthú. Soláthraíonn sé API éifeachtach agus simplí chun XML a pharsáil ó teaghráin agus comhaid agus chun doiciméid XML a chruthú.
Sampla Bunúsach:
import xml.etree.ElementTree as ET
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = ET.fromstring(xml_data)
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
print(f'Name: {name}, Price: {price}')
Aschur:
Is leabharlann eile de chuid Python é Xml.dom.Minidom a sholáthraíonn léiriú DOM (Samhail Doiciméid Cuspóir) de XML. Ceadaíonn an leabharlann seo ionramháil XML níos mionsonraithe.
Sampla bunúsach:
from xml.dom.minidom import parseString
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
dom = parseString(xml_data)
items = dom.getElementsByTagName('item')
for item in items:
name = item.getElementsByTagName('name')[0].firstChild.data
price = item.getElementsByTagName('price')[0].firstChild.data
print(f'Name: {name}, Price: {price}')
Aschur:
Is leabharlann coitianta é Beautifulsoup chun doiciméid HTML agus XML a pharsáil. Tá sé thar a bheith úsáideach chun sonraí gréasáin a scríobadh agus chun XML nach bhfuil foirmithe go maith a láimhseáil.
Sampla Bunúsach:
from bs4 import BeautifulSoup
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
soup = BeautifulSoup(xml_data, 'xml')
items = soup.find_all('item')
for item in items:
name = item.find('name').text
price = item.find('price').text
print(f'Name: {name}, Price: {price}')
Aschur:
Is leabharlann chumhachtach é LXML a chomhcheanglaíonn éascaíocht úsáid eilimint le luas agus le gnéithe leabharlainne LIBXML2. Tacaíonn sé le parsáil XML agus HTML araon.
Sampla Bunúsach:
from lxml import etree
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = etree.fromstring(xml_data)
items = root.findall('item')
for item in items:
name = item.find('name').text
price = item.find('price').text
print(f'Name: {name}, Price: {price}')
Aschur:
Is féidir le XML a athrú go foclóir a bheith úsáideach chun sonraí XML a láimhseáil agus a phróiseáil le níos mó solúbthachta.
import xml.etree.ElementTree as ET
def xml_to_dict(element):
if len(element) == 0:
return element.text
return {child.tag: xml_to_dict(child) for child in element}
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = ET.fromstring(xml_data)
data_dict = xml_to_dict(root)
print(data_dict)
Aschur:
Nuair a dhéantar sonraí ó XML go formáid CSV a athrú, cuirtear an próiseas chun sonraí a anailísiú agus a stóráil i bhfeidhm, rud a chiallaíonn go bhfuil sé níos éasca é a chomhtháthú le feidhmchláir scarbhileoige agus an cumas sonraí a shamhlú go héifeachtach.
import csv
import xml.etree.ElementTree as ET
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
root = ET.fromstring(xml_data)
with open('output.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Name', 'Price'])
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
writer.writerow([name, price])
Nuair a bhíonn XML á pharsáil, tá sé ríthábhachtach earráidí láimhseála a chinntiú chun a chinntiú gur féidir le do chód sonraí gan choinne nó mífhoirmiú a bhainistiú go galánta.
import xml.etree.ElementTree as ET
xml_data = """
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
<item>
<name>Item 2</name>
<price>20</price>
</item>
</data>
"""
try:
root = ET.fromstring(xml_data)
except ET.ParseError as e:
print(f'Error parsing XML: {e}')
Seo sampla praiticiúil ag baint úsáide as BeautifulSoup chun sonraí XML a pharsáil ó URL:
import requests # Leabharlann na n -iarrataí a allmhairiú chun iarratais HTTP a dhéanamh
from bs4 import BeautifulSoup # Allmhairiú Beautifulsoup ón Leabharlann BS4 chun XML a pharsáil
# Sainmhínigh URL na sonraí XML
url = "https://httpbin.org/xml"
# Seol iarratas ar an URL
response = requests.get(url)
# Parse an t -ábhar XML den fhreagra ag úsáid BeautifulSoup
soup = BeautifulSoup(response.content, 'xml')
# Lúb trí gach eilimint 'sleamhnán' sa XML
for slide in soup.find_all('slide'):
# Faigh an eilimint 'teideal' laistigh de gach 'sleamhnán' agus faigh a théacs
title = slide.find('title').text
# Priontáil an téacs teidil
print(f'Title: {title}')
Aschur:
Baineann iarratais éagsúla úsáid as an bhformáid bhunaidh sonraí XML ó sheirbhísí gréasáin go comhaid chumraíochta. Tá go leor leabharlanna láidre i gceist le Python le haghaidh parsáil sonraí XML chomh maith le cúbláil. Tá leabharlann chuimsitheach ag Python le haghaidh sonraí XML ag parsáil cibé an bhfuil gá le mianadóireacht bhunúsach sonraí nó próiseáil doiciméad ilchasta. Is é an cumas atá ag forbróirí gréasáin Python ná XML a chódú le haghaidh idirmhalartaithe sonraí agus scríobadh gréasáin araon.
Tuairimí: 0