സൗജന്യ ട്രയൽ പ്രോക്സി

പൈത്തൺ എക്സ്എംഎൽ പാഴ്സിംഗ്: ഒരു സമഗ്ര ഗൈഡ്

ഡാറ്റ സംഭരിക്കുന്നതിനും കൈമാറുന്നതിനും ഉപയോഗിക്കുന്ന ഒരു ജനപ്രിയ ഭാഷയാണ് എക്സ്എംഎൽ (എക്‌സ്‌റ്റൻസിബിൾ മാർക്ക്അപ്പ് ലാംഗ്വേജ്). 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 പാഴ്‌സിംഗ് ലൈബ്രറികളേക്കാൾ വേഗത കുറവാണ്.

നിങ്ങളുടെ സൗജന്യ ട്രയൽ പ്രോക്സി ഇപ്പോൾ നേടൂ!

സമീപകാല പോസ്റ്റുകൾ

പതിവ് ചോദ്യങ്ങൾ: പ്രോക്സി സെർവർ സേവനങ്ങൾ

ഒരു XML പാഴ്‌സർ എന്നത് XML ഡോക്യുമെന്റുകൾ വായിക്കാനും വ്യാഖ്യാനിക്കാനും ഉപയോഗിക്കുന്ന ഒരു ഉപകരണമാണ്, പൈത്തൺ ഒബ്‌ജക്‌റ്റുകൾ അല്ലെങ്കിൽ നിഘണ്ടുക്കൾ പോലുള്ള ആപ്ലിക്കേഷനുകൾക്ക് എളുപ്പത്തിൽ പ്രോസസ്സ് ചെയ്യാൻ കഴിയുന്ന ഒരു ഘടനാപരമായ ഫോർമാറ്റിലേക്ക് XML ഡാറ്റയെ പരിവർത്തനം ചെയ്യുന്നു.

DOM (ഡോക്യുമെന്റ് ഒബ്ജക്റ്റ് മോഡൽ) എന്നത് ഒരു XML അല്ലെങ്കിൽ HTML പ്രമാണത്തെ ഒരു ട്രീ ഘടനയായി കണക്കാക്കുന്ന ഒരു ഇന്റർഫേസാണ്, അവിടെ ഓരോ നോഡും പ്രമാണത്തിന്റെ ഭാഗത്തെ പ്രതിനിധീകരിക്കുന്നു. XML അല്ലെങ്കിൽ HTML ഉള്ളടക്കം എളുപ്പത്തിൽ നാവിഗേറ്റ് ചെയ്യാനും ആവർത്തിക്കാനും കൈകാര്യം ചെയ്യാനും ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.

ഒരു XML ഡോക്യുമെന്റിനുള്ളിലെ ഘടകങ്ങൾ, ആട്രിബ്യൂട്ടുകൾ, വാചകം എന്നിവയെ പ്രതിനിധീകരിക്കുന്ന DOM ഘടനയുടെ അടിസ്ഥാന ഘടകമാണ് നോഡ്.

ഒരു XML നെയിംസ്‌പെയ്‌സ് എന്നത് വ്യത്യസ്ത XML എലമെന്റുകളെയോ അല്ലെങ്കിൽ ഒരേ പേരുകളുള്ളതും എന്നാൽ വ്യത്യസ്ത അർത്ഥങ്ങളുള്ളതുമായ ആട്രിബ്യൂട്ടുകളെയോ വേർതിരിച്ചറിയുന്നതിനുള്ള ഒരു രീതിയാണ്. നെയിംസ്‌പെയ്‌സുകൾ നെയിംസ്‌പെയ്‌സ് പ്രിഫിക്‌സുകൾ വഴി എലമെന്റുകളെ വ്യത്യസ്തമാക്കി നാമകരണ വൈരുദ്ധ്യങ്ങൾ തടയുന്നു.

XPath എക്സ്പ്രഷനുകൾ, നെയിംസ്പേസുകൾ കൈകാര്യം ചെയ്യൽ, വലിയ ഫയലുകൾ പാഴ്‌സ് ചെയ്യൽ എന്നിവയുൾപ്പെടെ അടിസ്ഥാന ആശയങ്ങൾ മുതൽ നൂതന ആശയങ്ങൾ വരെ ഉൾക്കൊള്ളുന്ന ഒരു സമഗ്രമായ XML പാഴ്‌സിംഗ് ട്യൂട്ടോറിയൽ ഞങ്ങളുടെ നോളജ് ബേസിൽ നിങ്ങൾക്ക് കണ്ടെത്താൻ കഴിയും.

പൈത്തണിന്റെ സ്റ്റാൻഡേർഡ് ലൈബ്രറിയിൽ ElementTree API, DOM ഇന്റർഫേസുകൾ പോലുള്ള നിരവധി XML പാഴ്‌സറുകൾ ലഭ്യമാണ്. അവ XML ഡോക്യുമെന്റുകൾ പാഴ്‌സ് ചെയ്യുന്നതിനും, XML സാധൂകരിക്കുന്നതിനും, വലിയ ഡോക്യുമെന്റുകൾ കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യുന്നതിനും പിന്തുണയ്ക്കുന്നു.

ഒരു XML ഡോക്യുമെന്റിന്റെ ടോപ്പ്-ലെവൽ എലമെന്റാണ് റൂട്ട് എലമെന്റ്, അതിൽ നിന്നാണ് മറ്റെല്ലാ എലമെന്റുകളും ശാഖകളായി പുറത്തുവരുന്നത്.

XPath എക്സ്പ്രഷനുകൾ നിർദ്ദിഷ്ട XML ഘടകങ്ങളുടെ കൃത്യമായ തിരഞ്ഞെടുപ്പ് സാധ്യമാക്കുന്നു. ഒരു XML ഡോക്യുമെന്റിൽ നോഡുകൾ, ചൈൽഡ് ഘടകങ്ങൾ, ആട്രിബ്യൂട്ടുകൾ, പൊരുത്തപ്പെടുന്ന ഘടകങ്ങൾ എന്നിവ കണ്ടെത്തുന്നതിന് XPath അത്യാവശ്യമാണ്.

എലമെന്റ്, ആട്രിബ്യൂട്ട് നാമങ്ങളെ നെയിംസ്‌പെയ്‌സ് പ്രിഫിക്‌സുകളോ ഡിഫോൾട്ട് നെയിംസ്‌പെയ്‌സുകളോ ഉപയോഗിച്ച് യോഗ്യത നേടുന്നതിലൂടെ എലമെന്റ് നാമ വൈരുദ്ധ്യങ്ങൾ ഒഴിവാക്കാൻ XML നെയിംസ്‌പെയ്‌സുകൾ സഹായിക്കുന്നു.

ഒരു XML പാഴ്‌സർ നിർണായകമാണ്, കാരണം അത് XML-ന്റെ സ്ട്രിംഗ് പ്രാതിനിധ്യങ്ങളെ പൈത്തൺ ഒബ്‌ജക്റ്റുകളാക്കി കൃത്യമായി പരിവർത്തനം ചെയ്യുന്നു, ഇത് ശക്തമായ XML പ്രോസസ്സിംഗും സാധൂകരണവും ഉറപ്പാക്കുന്നു, പ്രത്യേകിച്ച് സങ്കീർണ്ണമായതോ വലുതോ ആയ പ്രമാണങ്ങളിൽ.

നിങ്ങളുടെ XML ഡോക്യുമെന്റ് തകരാറിലാണെങ്കിൽ, XML പാഴ്‌സർ പരാജയപ്പെടുകയോ ഒരു ശൂന്യമായ സ്ട്രിംഗ് തിരികെ നൽകുകയോ ചെയ്‌തേക്കാം. നിങ്ങളുടെ XML ഉള്ളടക്കം ഓപ്പണിംഗ്, ക്ലോസിംഗ് ടാഗുകൾ ശരിയായി ഫോർമാറ്റ് ചെയ്‌തിട്ടുണ്ടെന്നും ഒരു XML സ്കീമ ഡെഫനിഷൻ (XSD) അനുസരിച്ച് സാധുതയുള്ളതാണെന്നും ഉറപ്പാക്കുക.

അതെ, വലിയ XML ഡോക്യുമെന്റുകൾ അമിതമായ മെമ്മറി ഉപയോഗിക്കാതെ കാര്യക്ഷമമായി പാഴ്‌സ് ചെയ്യുന്നതിനും പ്രോസസ്സ് ചെയ്യുന്നതിനും ElementTree API അനുയോജ്യമാണ്.

വലിയ XML ഫയലുകൾക്ക് DOM ഇന്റർഫേസ് അനുയോജ്യമല്ല, കാരണം അത് മുഴുവൻ XML ഡോക്യുമെന്റിന്റെയും എല്ലാ ഘടകങ്ങളും മെമ്മറിയിൽ കോമ്പൗണ്ട് പൈത്തൺ ഒബ്ജക്റ്റുകളായി സംഭരിക്കുന്നു.

സാധാരണ പൈത്തൺ ലിസ്റ്റുകൾ ഉപയോഗിച്ച് XML നോഡുകൾ വഴിയോ, ElementTree പോലുള്ള പൈത്തണിന്റെ സ്റ്റാൻഡേർഡ് ലൈബ്രറി നൽകുന്ന രീതികൾ ഉപയോഗിച്ച് XML-ന്റെ ഘടകങ്ങളിൽ നേരിട്ട് ആവർത്തിക്കുന്നതിലൂടെയോ നിങ്ങൾക്ക് ഇത് ആവർത്തിക്കാം.

അതെ, ഡാറ്റ സമഗ്രതയും കൃത്യതയും ഉറപ്പാക്കുന്നതിന്, XML സ്കീമ നിർവചനങ്ങൾക്കെതിരെ XML ഫയലുകൾ സാധൂകരിക്കുന്നതിനുള്ള ഉപകരണങ്ങൾ പൈത്തണിന്റെ സ്റ്റാൻഡേർഡ് ലൈബ്രറി നൽകുന്നു.

പാഴ്‌സ് ചെയ്‌ത XML ഡാറ്റയെ കസ്റ്റം കോഡ് ഉപയോഗിച്ച് പ്ലെയിൻ പൈത്തൺ നിഘണ്ടുക്കളോ സംയുക്ത പൈത്തൺ ഒബ്‌ജക്റ്റുകളോ ആക്കി മാറ്റാൻ കഴിയും, ഇത് റൺടൈമിൽ XML ഡാറ്റയുടെ പ്രവേശനക്ഷമതയും കൃത്രിമത്വവും വർദ്ധിപ്പിക്കുന്നു.

പൈത്തണിനൊപ്പം വിതരണം ചെയ്യുന്ന XML പാഴ്‌സറുകൾ സുരക്ഷിതമാണ്, കാരണം അവ സ്ഥിരസ്ഥിതിയായി അപകടകരമായ XML സവിശേഷതകൾ ഒഴിവാക്കുന്നു. നിങ്ങൾ ഉപയോഗിക്കുന്ന പാഴ്‌സർ, പൈത്തൺ 3.8 പോലുള്ള ഇൻസ്റ്റാൾ ചെയ്ത പൈത്തൺ പതിപ്പ് പിന്തുണയ്ക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.

വെബ് സ്ക്രാപ്പിംഗ് സമയത്ത് XML, HTML ഉറവിടങ്ങളിൽ നിന്ന് ഘടനാപരമായ ഡാറ്റ വേർതിരിച്ചെടുക്കുന്ന പ്രക്രിയ XML പാഴ്‌സറുകൾ സുഗമമാക്കുന്നു, ഇത് സ്ക്രാപ്പ് ചെയ്ത ഡാറ്റയെ പൈത്തൺ ഒബ്‌ജക്റ്റുകളിലേക്കോ നിഘണ്ടുക്കളിലേക്കോ കാര്യക്ഷമമായി പരിവർത്തനം ചെയ്യാൻ പ്രാപ്തമാക്കുന്നു.

നിങ്ങൾക്ക് തെറ്റായ XML നേരിടേണ്ടി വന്നാൽ, വീണ്ടും പാഴ്‌സ് ചെയ്യുന്നതിന് മുമ്പ് നിങ്ങൾ XML ഡോക്യുമെന്റ് ശ്രദ്ധാപൂർവ്വം പാഴ്‌സ് ചെയ്യുകയും, ഒഴിവാക്കലുകൾ കൈകാര്യം ചെയ്യുകയും, ഒരുപക്ഷേ തെറ്റായ XML ഉള്ളടക്കം ശരിയാക്കുകയും ചെയ്യേണ്ടതുണ്ട്.

അതെ, പാഴ്‌സ് ചെയ്‌ത XML ഉള്ളടക്കം അനുബന്ധ പൈത്തൺ ഒബ്‌ജക്‌റ്റുകളോ നിഘണ്ടുക്കളോ ആക്കി മാറ്റാൻ കഴിയും, ഇത് ഘടനാപരമായ ഡാറ്റയുമായി പ്രോഗ്രാമാമാറ്റിക് ആയി പ്രവർത്തിക്കുന്നത് എളുപ്പമാക്കുന്നു.

അതെ, XPath എക്സ്പ്രഷനുകൾക്ക് XML-ൽ ഒന്നിലധികം പൊരുത്തപ്പെടുന്ന ഘടകങ്ങൾ തിരഞ്ഞെടുക്കാൻ കഴിയും, ഇത് നിങ്ങളുടെ അന്വേഷണവുമായി പൊരുത്തപ്പെടുന്ന എല്ലാ ഘടകങ്ങളും സംഭരിക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു.

വിപുലമായ ഡോക്യുമെന്റ് നാവിഗേഷനോ ആവർത്തന പ്രവർത്തനങ്ങളോ ആവശ്യമുള്ളപ്പോൾ DOM ഇന്റർഫേസ് പ്രയോജനകരമാണ്, കാരണം ഇത് XML ഡാറ്റയെ ഒരു സ്റ്റാൻഡേർഡ് DOM ട്രീ ആയി പ്രതിനിധീകരിക്കുന്നു, ഇത് നോഡുകൾ, ചൈൽഡ് ഘടകങ്ങൾ, ആട്രിബ്യൂട്ടുകൾ എന്നിവയുമായി സംവദിക്കുന്നത് എളുപ്പമാക്കുന്നു.

ഒന്നിലധികം നെയിംസ്‌പെയ്‌സുകൾ ഉപയോഗിക്കുന്ന XML ഡോക്യുമെന്റുകളിൽ ആശയക്കുഴപ്പം ഒഴിവാക്കാൻ സഹായിക്കുന്നതിനാൽ നെയിംസ്‌പെയ്‌സ് പിന്തുണ നിർണായകമാണ്, വ്യത്യസ്ത നെയിംസ്‌പെയ്‌സുകളിൽ സമാനമായതോ സമാനമായതോ ആയ പേരുകൾ ഉപയോഗിക്കുമ്പോൾ പോലും ഘടകങ്ങൾ വ്യക്തമായി തിരിച്ചറിയാൻ ഇത് സഹായിക്കുന്നു.

അഭിപ്രായങ്ങൾ (0)

ഇവിടെ ഇതുവരെ അഭിപ്രായങ്ങളൊന്നുമില്ല, നിങ്ങൾക്ക് ആദ്യത്തെയാളാകാം!

മറുപടി രേഖപ്പെടുത്തുക

താങ്കളുടെ ഇമെയില്‍ വിലാസം പ്രസിദ്ധപ്പെടുത്തുകയില്ല. അവശ്യമായ ഫീല്‍ഡുകള്‍ * ആയി രേഖപ്പെടുത്തിയിരിക്കുന്നു

പ്രോക്സി തിരഞ്ഞെടുത്ത് വാങ്ങുക

ഡാറ്റാസെന്റർ പ്രോക്സികൾ

ഭ്രമണം ചെയ്യുന്ന പ്രോക്സികൾ

UDP പ്രോക്സികൾ