പൈത്തൺ എക്സ്എംഎൽ പാഴ്സിംഗ്: ഒരു സമഗ്ര ഗൈഡ്
ഡാറ്റ സംഭരിക്കുന്നതിനും കൈമാറുന്നതിനും ഉപയോഗിക്കുന്ന ഒരു ജനപ്രിയ ഭാഷയാണ് എക്സ്എംഎൽ (എക്സ്റ്റൻസിബിൾ മാർക്ക്അപ്പ് ലാംഗ്വേജ്). XML പാഴ്സ് ചെയ്യാൻ പൈത്തൺ നിരവധി ലൈബ്രറികൾ നൽകുന്നു. ഈ ഗൈഡിൽ, XML പാഴ്സ് ചെയ്യുന്നതിനായി ഞങ്ങൾ രണ്ട് അന്തർനിർമ്മിത പൈത്തൺ ലൈബ്രറികൾ നിങ്ങളെ പരിചയപ്പെടുത്തും: xml.dom.minidom, xml.etree.ElementTree.
ഘട്ടം 1: xml.dom.minidom ഉപയോഗിച്ച് XML പാഴ്സിംഗ്
XML ഡോക്യുമെന്റുകൾ Python ഉപയോഗിച്ച് പാഴ്സ് ചെയ്യാൻ xml.dom.minidom ലൈബ്രറി നിങ്ങളെ അനുവദിക്കുന്നു. ഒരു XML സ്ട്രിംഗ് പാഴ്സ് ചെയ്യാൻ, parseString രീതി ഉപയോഗിക്കുക:
from xml.dom.minidom import parseString
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
document = parseString(xml_string)
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
മുകളിലുള്ള കോഡിൽ, ഞങ്ങൾ XML സ്ട്രിംഗ് പാഴ്സ് ചെയ്യുകയും പുസ്തകത്തിന്റെ പേര് എക്സ്ട്രാക്റ്റുചെയ്യുകയും ചെയ്യുന്നു.
ഘട്ടം 2: xml.etree.ElementTree ഉപയോഗിച്ച് XML പാഴ്സിംഗ്
xml.etree.ElementTree (ET) ലൈബ്രറി XML പാഴ്സ് ചെയ്യുന്നതിന് കൂടുതൽ പൈത്തോണിക് മാർഗം നൽകുന്നു. ഒരു XML സ്ട്രിംഗ് പാഴ്സ് ചെയ്യാൻ, fromstring രീതി ഉപയോഗിക്കുക:
import xml.etree.ElementTree as ET
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
root = ET.fromstring(xml_string)
for child in root.iter():
if child.text.strip():
print(child.text)
മുകളിലുള്ള കോഡിൽ, ഞങ്ങൾ XML സ്ട്രിംഗ് പാഴ്സ് ചെയ്യുകയും ഓരോ ഘടകത്തിന്റെയും വാചകം പ്രിന്റ് ചെയ്യുകയും ചെയ്യുന്നു.
ഘട്ടം 3: XML ഫയലുകൾ പാഴ്സ് ചെയ്യുന്നു
minidom, ElementTree എന്നിവയ്ക്ക് പാഴ്സ് രീതി ഉപയോഗിച്ച് ഫയലുകളിൽ നിന്ന് XML പാഴ്സ് ചെയ്യാൻ കഴിയും:
# Using minidom
from xml.dom.minidom import parse
document = parse("sample.xml")
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
# Using ElementTree
import xml.etree.ElementTree as ET
root = ET.parse("sample.xml")
for child in root.iter():
if child.text.strip():
print(child.text)
ഒരു XML ഫയൽ എങ്ങനെ പാഴ്സ് ചെയ്യാമെന്നും ചില ഘടകങ്ങൾ പ്രിന്റ് ചെയ്യാമെന്നും മുകളിലെ കോഡ് കാണിക്കുന്നു.
ഘട്ടം 4: ഒരു CSV ഫയലിലേക്ക് XML ഡാറ്റ സംരക്ഷിക്കുന്നു
XML പാഴ്സ് ചെയ്ത ശേഷം, നിങ്ങൾക്ക് പാണ്ടസ് ലൈബ്രറി ഉപയോഗിച്ച് ഒരു CSV ഫയലിലേക്ക് ഡാറ്റ സംരക്ഷിക്കാൻ കഴിയും:
import pandas as pd
parsed_dict = {
"title": ["The Great Gatsby"],
"author": ["F. Scott Fitzgerald"],
"year": [1925]
}
df = pd.DataFrame(parsed_dict)
df.to_csv("parsed_xml_data.csv", index=False)
ഘട്ടം 5: അസാധുവായ XML കൈകാര്യം ചെയ്യുന്നു
ബ്യൂട്ടിഫുൾ സൂപ്പ് ലൈബ്രറിക്ക് പിശകുകളുണ്ടായേക്കാവുന്ന XML പ്രമാണങ്ങൾ പാഴ്സ് ചെയ്യാൻ കഴിയും:
from bs4 import BeautifulSoup
invalid_xml = """
<root>
<person>
<name>John Doe</name>
<message>This is a message & an invalid XML example.</message>
</person>
</root>
"""
soup = BeautifulSoup(invalid_xml, features="lxml-xml")
print(soup.prettify())
മനോഹരമായ സൂപ്പിന് അസാധുവായ XML കൈകാര്യം ചെയ്യാൻ കഴിയും, എന്നാൽ ഇത് മറ്റ് XML പാഴ്സിംഗ് ലൈബ്രറികളേക്കാൾ വേഗത കുറവാണ്.
അഭിപ്രായങ്ങൾ (0)
ഇവിടെ ഇതുവരെ അഭിപ്രായങ്ങളൊന്നുമില്ല, നിങ്ങൾക്ക് ആദ്യത്തെയാളാകാം!