Python3
200 subscribers
102 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
Forwarded from گوربه
# بارگذاری فایل XML
tree = etree.parse('example.xml')

# اعمال تغییرات XSLT به فایل XML
new_tree = transform(tree)

# نمایش XML جدید به صورت زیبا
print(etree.tostring(new_tree, pretty_print=True).decode())

🔍 توضیحات: این کد یک فایل XML را با استفاده از XSLT تغییر داده و نتیجه را نمایش می‌دهد.


10. تغییر تگ‌ها و ویژگی‌ها 🛠️
تغییر تگ‌ها و ویژگی‌ها در یک فایل XML:

from lxml import etree

# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()

# تکرار روی تمامی عناصر با نام تگ مشخص شده
for element in root.iter('tag_name'):
# تغییر نام تگ
element.tag = 'new_tag'

# اضافه کردن ویژگی جدید
element.set('new_attribute', 'value')

# ذخیره فایل XML تغییر یافته
tree.write('modified.xml', pretty_print=True)

🔍 توضیحات: این کد تگ‌ها و ویژگی‌های یک فایل XML را تغییر داده و نتیجه را در یک فایل ذخیره می‌کند.


11. حذف تگ‌ها
حذف تگ‌ها از یک فایل XML:

from lxml import etree

# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()

# پیدا کردن و حذف تمامی عناصر با نام تگ مشخص شده
for element in root.findall('tag_name'):
root.remove(element)

# ذخیره فایل XML بدون تگ‌های مشخص شده
tree.write('cleaned.xml', prettyتوضیحات:

🔍 توضیحات: این کد تگ‌های مشخص شده را از یک فایل XML حذف کرده و نتیجه را در یک فایل ذخیره می‌کند.


12. تبدیل XML به دیکشنری📚
تبدیل یک فایل XML به دیکشنری پایتون:

from lxml import etree

# تعریف تابع تبدیل XML به دیکشنری
def xml_to_dict(element):
return {element.tag: {child.tag: xml_to_dict(child) for child in element} or element.text}

# بارگذاری فایل XML
tree = etree.parse('example.xml')
root = tree.getroot()

# تبدیل XML به دیکشنری
data_dict = xml_to_dict(root)
prتوضیحات:t)

🔍 توضیحات: این کد یک فایل XML را به دیکشنری پایتون تبدیل کرده و نتیجه را نمایش می‌دهد.

این آموزش به شما نشان داد که چگونه می‌توانید از کتابخانه lxml برای کار با XML و HTML استفاده کنید. امیدوارم این مثال‌ها برای شما مفید بوده باشد! 🌟

🔻برای بیشتر یاد گرفتن بیا اینجا

#Python #lxml #Coding #ProgrammingTips #Tech #XML #HTML
👍1
Forwarded from گوربه
کدهای کاربردی با کتابخانه lxml در پایتون🐍

کتابخانه lxml یکی از ابزارهای قدرتمند برای پردازش XML و HTML در پایتون است. این کتابخانه امکانات زیادی را برای استخراج، تغییر و اعتبارسنجی داده‌ها فراهم می‌کند. در ادامه ۱۲ مثال کاربردی با استفاده از این کتابخانه آورده شده است که می‌تواند برای برنامه‌نویسان بسیار مفید باشد. 1. پارس کردن یک فایل XML 📄
پارس کردن فایل XML و نمایش محتوای آن:
from lxml import etree

tree = etree.parse('example.xml')
root = tree.getroot()
print(etree.tostring(root, pretty_print=True).decode())

2. پارس کردن یک رشته XML📝
پارس کردن یک رشته XML و نمایش محتوای آن:
from lxml import etree

xml_data = '<root><child>data</child></root>'
root = etree.fromstring(xml_data)
print(etree.tostring(root, pretty_print=True).decode())

3. استخراج مقادیر تگ‌ها 🔍
استخراج مقادیر تگ‌ها از یک فایل XML:
from lxml import etree

tree = etree.parse('example.xml')
for element in tree.iter('tag_name'):
print(element.text)

4. اضافه کردن تگ جدید به XML
ایجاد و اضافه کردن تگ جدید به یک فایل XML:
from lxml import etree

root = etree.Element("root")
child = etree.SubElement(root, "child")
child.text = "data"
tree = etree.ElementTree(root)
tree.write("output.xml", pretty_print=True)

5. جستجو با XPath 🔎
جستجو در فایل XML با استفاده از XPath:
from lxml import etree

tree = etree.parse('example.xml')
result = tree.xpath('//tag_name')
for element in result:
print(etree.tostring(element, pretty_print=True).decode())

6. اعتبارسنجی XML با DTD
اعتبارسنجی XML با استفاده از DTD:
from lxml import etree

dtd = etree.DTD('example.dtd')
tree = etree.parse('example.xml')
is_valid = dtd.validate(tree)
print(is_valid)

7. ایجاد یک HTML ساده🌐
ایجاد یک فایل HTML ساده با استفاده از lxml:
from lxml import etree, html

root = html.Element("html")
body = html.SubElement(root, "body")
p = html.SubElement(body, "p")
p.text = "Hello, world!"
tree = html.ElementTree(root)
tree.write("output.html", pretty_print=True)

8. استخراج لینک‌ها از یک صفحه HTML 🔗
استخراج تمام لینک‌ها از یک صفحه HTML:
from lxml import html

page = html.parse('example.html')
links = page.xpath('//a/@href')
print(links)

9. استفاده از XSLT برای تغییر XML 🔄
تغییر XML با استفاده از XSLT:
from lxml import etree

xslt_root = etree.parse('transform.xslt')
transform = etree.XSLT(xslt_root)
tree = etree.parse('example.xml')
new_tree = transform(tree)
print(etree.tostring(new_tree, pretty_print=True).decode())

10. تغییر تگ‌ها و ویژگی‌ها 🛠️
تغییر تگ‌ها و ویژگی‌ها در یک فایل XML:
from lxml import etree

tree = etree.parse('example.xml')
root = tree.getroot()
for element in root.iter('tag_name'):
element.tag = 'new_tag'
element.set('new_attribute', 'value')
tree.write('modified.xml', pretty_print=True)

11. حذف تگ‌ها
حذف تگ‌ها از یک فایل XML:

from lxml import etree

tree = etree.parse('example.xml')
root = tree.getroot()
for element in root.findall('tag_name'):
root.remove(element)
tree.write('cleaned.xml', pretty_print=True)

12. تبدیل XML به دیکشنری 📚
تبدیل یک فایل XML به دیکشنری پایتون:

from lxml import etree

def xml_to_dict(element):
return {element.tag: {child.tag: xml_to_dict(child) for child in element} or element.text}

tree = etree.parse('example.xml')
root = tree.getroot()
data_dict = xml_to_dict(root)
print(data_dict)

این کدها نمونه‌هایی از استفاده‌های مختلف از کتابخانه lxml هستند که می‌توانید در پروژه‌های خود از آن‌ها بهره ببرید. 🌟

🔻برای بیشتر یاد گرفتن بیا اینجا

#Python #lxml #Coding #ProgrammingTips #Tech #XML #HTML
👍1
10 کد کاربردی با استفاده از کتابخانه lxml

کتابخانه lxml یکی از قدرتمندترین ابزارها برای پردازش XML و HTML در پایتون است. در اینجا 10 کد کاربردی را با استفاده از این کتابخانه معرفی می‌کنیم:

1. نصب lxml
برای نصب lxml از pip استفاده کنید:
pip install lxml

2. خواندن یک فایل XML
from lxml import etree

tree = etree.parse('sample.xml')
root = tree.getroot()
print(etree.tostring(root, pretty_print=True))

3. استخراج اطلاعات از یک فایل HTML
from lxml import html

content = """
<html>
<body>
<h1>Sample Title</h1>
<p>This is a <b>sample</b> paragraph.</p>
</body>
</html>
"""
tree = html.fromstring(content)
title = tree.xpath('//h1/text()')[0]
print(f'Title: {title}')

4. ساخت یک سند XML جدید
from lxml import etree

root = etree.Element('root')
child = etree.SubElement(root, 'child')
child.text = 'This is a child element'
tree = etree.ElementTree(root)
tree.write('new_sample.xml', pretty_print=True)

5. ویرایش یک سند XML
tree = etree.parse('sample.xml')
root = tree.getroot()

for child in root:
if child.tag == 'target':
child.text = 'New text'
tree.write('edited_sample.xml', pretty_print=True)

6. تبدیل XML به JSON
import json
from lxml import etree

tree = etree.parse('sample.xml')
root = tree.getroot()

def etree_to_dict(t):
d = {t.tag: {} if t.attrib else None}
children = list(t)
if children:
dd = defaultdict(list)
for dc in map(etree_to_dict, children):
for k, v in dc.items():
dd[k].append(v)
d = {t.tag: {k: v[0] if len(v) == 1 else v for k, v in dd.items()}}
if t.attrib:
d[t.tag].update((k, v) for k, v in t.attrib.items())
if t.text:
text = t.text.strip()
if children or t.attrib:
if text:
d[t.tag]['text'] = text
else:
d[t.tag] = text
return d

json_data = json.dumps(etree_to_dict(root), indent=4)
print(json_data)

7. بررسی اعتبار سنجی XML با استفاده از یک DTD
dtd = etree.DTD('sample.dtd')
tree = etree.parse('sample.xml')
is_valid = dtd.validate(tree)
print(f'Is valid: {is_valid}')

8. جستجو در یک سند XML با XPath
tree = etree.parse('sample.xml')
root = tree.getroot()
elements = root.xpath('//target')
for elem in elements:
print(elem.text)

9. استخراج لینک‌ها از یک صفحه HTML
from lxml import html

page = html.parse('sample.html')
links = page.xpath('//a/@href')
for link in links:
print(link)

10. افزودن عناصر به یک سند XML
tree = etree.parse('sample.xml')
root = tree.getroot()

new_elem = etree.Element('new_element')
new_elem.text = 'This is a new element'
root.append(new_elem)

tree.write('updated_sample.xml', pretty_print=True)

این کدها می‌توانند در پروژه‌های مختلف برای پردازش و مدیریت اسناد XML و HTML مورد استفاده قرار گیرند.

🔻بیا اینجا تا بیشتر یاد بگیری🔻

#پایتون #lxml #برنامه‌نویسی #آموزش_پایتون #python