رسانه آموزشی پرونش
جستجو برای:
سبد خرید 0
  • خانه
  • بسته‌های آموزش‌ها
  • مقالات آموزشی
  • رویدادها
  • محصولات
  • تماس با ما
    • مشهد - شهرک غرب - ساختمان اکسین
      051-36000050
      info@pronesh.ir
      اینستاگرام
      کانال تلگرام
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در privacy policy ما شرح داده می شود مورد استفاده قرار می گیرد.

رسانه آموزشی پرونش
  • خانه
  • بسته‌های آموزش‌ها
  • مقالات آموزشی
  • رویدادها
  • محصولات
  • تماس با ما
    • مشهد - شهرک غرب - ساختمان اکسین
      051-36000050
      info@pronesh.ir
      اینستاگرام
      کانال تلگرام
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

آموزش استفاده و ایجاد فایل XML در پایتون

برنامه نویسی

XML (eXtensible Markup Language) یک فرمت ساختارمند برای ذخیره‌سازی و تبادل داده‌ها است. این فرمت به طور گسترده در برنامه‌نویسی وب، پیکربندی نرم‌افزارها و انتقال داده‌ها بین سیستم‌ها استفاده می‌شود. XML شباهت زیادی به HTML دارد، اما برخلاف HTML، XML برای ذخیره‌سازی داده‌ها طراحی شده است.

 

در این مقاله، ابتدا نحوه استفاده از فایل‌های XML در پایتون را آموزش می‌دهیم، سپس به یک پروژه عملی می‌پردازیم که در آن از XML برای مدیریت داده‌ها استفاده می‌کنیم.

سرفصل‌ها

  1. معرفی XML و کاربردهای آن
  2. خواندن و نوشتن فایل XML در پایتون
  3. پروژه کاربردی: مدیریت اطلاعات محصولات با XML
    • شرح پروژه
    • روش حل
    • سورس کد
    • توضیح توابع

1. معرفی XML و کاربردهای آن

XML چیست؟

XML یک زبان نشانه‌گذاری (Markup Language) است که برای ذخیره‌سازی و انتقال داده‌ها استفاده می‌شود. این فرمت به صورت سلسله‌مراتبی (Hierarchical) داده‌ها را سازماندهی می‌کند و هر داده در قالب یک عنصر (Element) با تگ‌های باز و بسته قرار می‌گیرد.

 

کاربردهای XML

  • انتقال داده‌ها بین سیستم‌ها در برنامه‌های وب
  • ذخیره‌سازی تنظیمات و پیکربندی‌های نرم‌افزار
  • مدیریت داده‌های ساختارمند در پایگاه داده‌های NoSQL
  • تبادل داده‌ها در وب‌سرویس‌ها (Web Services)

2. خواندن و نوشتن فایل XML در پایتون

پایتون از طریق ماژول xml.etree.ElementTree امکان کار با فایل‌های XML را فراهم می‌کند. این ماژول شامل توابعی برای تجزیه (Parse)، ایجاد و دستکاری فایل‌های XML است.

 

خواندن فایل XML

برای خواندن داده‌ها از یک فایل XML، از تابع ()ElementTree.parse استفاده می‌کنیم.

 

مثال:

				
					import xml.etree.ElementTree as ET

# خواندن فایل XML
tree = ET.parse('data.xml')
root = tree.getroot()

# نمایش تمام عناصر
for child in root:
    print(child.tag, child.attrib)
				
			

نوشتن فایل XML

برای ایجاد و ذخیره داده‌ها در یک فایل XML، از تابع ()ElementTree.write استفاده می‌کنیم.

 

مثال:

				
					import xml.etree.ElementTree as ET

# ایجاد ریشه (Root)
root = ET.Element("Products")

# اضافه کردن یک عنصر
product = ET.SubElement(root, "Product", attrib={"id": "1"})
name = ET.SubElement(product, "Name")
name.text = "Laptop"
price = ET.SubElement(product, "Price")
price.text = "1000"

# ایجاد درخت XML
tree = ET.ElementTree(root)

# ذخیره در فایل XML
tree.write("products.xml", encoding="utf-8", xml_declaration=True)
				
			

توضیحات:

  • ()ET.parse: فایل XML را تجزیه کرده و یک شیء درختی (Tree) برمی‌گرداند.
  • ()getroot: ریشه (Root) درخت XML را برمی‌گرداند.
  • ()ET.Element: یک عنصر جدید ایجاد می‌کند.
  • ()ET.SubElement: یک زیرعنصر (Child Element) به یک عنصر اضافه می‌کند.
  • ()write: درخت XML را در یک فایل ذخیره می‌کند.

3. پروژه کاربردی: مدیریت اطلاعات محصولات با XML

شرح پروژه

هدف این پروژه، ایجاد یک سیستم ساده برای مدیریت اطلاعات محصولات یک فروشگاه است. این سیستم باید قادر به انجام عملیات زیر باشد:

  1. افزودن اطلاعات یک محصول (نام، قیمت، موجودی).
  2. نمایش اطلاعات تمام محصولات.
  3. ذخیره‌سازی اطلاعات در یک فایل XML.
  4. بارگذاری اطلاعات از فایل XML.
 

روش حل

  1. از یک ساختار XML برای ذخیره اطلاعات محصولات استفاده می‌کنیم.
  2. اطلاعات هر محصول را به صورت یک عنصر XML ذخیره می‌کنیم.
  3. برای ذخیره‌سازی و بارگذاری اطلاعات، از فایل XML استفاده می‌کنیم.
  4. از توابع جداگانه برای هر عملیات (افزودن، نمایش، ذخیره و بارگذاری) استفاده می‌کنیم.
 

سورس کد

				
					import xml.etree.ElementTree as ET
import os

# تابع برای بارگذاری اطلاعات از فایل XML
def load_products():
    if os.path.exists('products.xml'):
        tree = ET.parse('products.xml')
        root = tree.getroot()
        return root
    return ET.Element("Products")

# تابع برای ذخیره اطلاعات در فایل XML
def save_products(root):
    tree = ET.ElementTree(root)
    tree.write('products.xml', encoding="utf-8", xml_declaration=True)

# تابع برای افزودن محصول
def add_product(root):
    name = input("Enter product's name: ")
    price = input("Enter product's price: ")
    stock = input("Enter product's stock: ")
    
    product = ET.SubElement(root, "Product", attrib={"id": str(len(root) + 1)})
    name_elem = ET.SubElement(product, "Name")
    name_elem.text = name
    price_elem = ET.SubElement(product, "Price")
    price_elem.text = price
    stock_elem = ET.SubElement(product, "Stock")
    stock_elem.text = stock
    
    print("Product added successfully!")

# تابع برای نمایش اطلاعات محصولات
def show_products(root):
    if len(root) == 0:
        print("No products found.")
        return
    
    for product in root:
        print(f"ID: {product.attrib['id']}")
        print(f"Name: {product.find('Name').text}")
        print(f"Price: {product.find('Price').text}")
        print(f"Stock: {product.find('Stock').text}")
        print("-" * 20)

# تابع اصلی
def main():
    root = load_products()
    
    while True:
        print("\nProduct Management System")
        print("1. Add Product")
        print("2. Show Products")
        print("3. Save and Exit")
        
        choice = input("Enter your choice: ")
        
        if choice == '1':
            add_product(root)
        elif choice == '2':
            show_products(root)
        elif choice == '3':
            save_products(root)
            print("Data saved. Exiting...")
            break
        else:
            print("Invalid choice. Please try again.")

if __name__ == "__main__":
    main()
				
			

توضیح توابع

  1. ()load_products

    • این تابع بررسی می‌کند که آیا فایل products.xml وجود دارد یا خیر.
    • اگر فایل وجود داشته باشد، داده‌های آن را تجزیه کرده و ریشه (Root) درخت XML را برمی‌گرداند.
    • اگر فایل وجود نداشته باشد، یک عنصر ریشه جدید (<Products>) ایجاد می‌کند.
  2. save_products(root)

    • این تابع درخت XML را به فایل products.xml ذخیره می‌کند.
  3. add_product(root)

    • این تابع اطلاعات یک محصول (نام، قیمت و موجودی) را از کاربر دریافت کرده و به عنوان یک عنصر جدید به درخت XML اضافه می‌کند.
  4. show_products(root)

    • این تابع اطلاعات تمام محصولات موجود در درخت XML را نمایش می‌دهد.
  5. ()main

    • این تابع منوی اصلی برنامه را اجرا می‌کند و به کاربر اجازه می‌دهد عملیات مختلف را انجام دهد.
 

نتیجه‌گیری

در این مقاله، نحوه استفاده از فایل‌های XML در پایتون را آموختیم و یک پروژه عملی برای مدیریت اطلاعات محصولات پیاده‌سازی کردیم. این پروژه نشان داد که چگونه می‌توان از XML برای ذخیره‌سازی و مدیریت داده‌ها استفاده کرد.

برچسب ها: pythonxmlپایتونمدیریت فایل
قبلی آموزش استفاده و ایجاد فایل JSON در پایتون
بعدی آموزش استفاده و ایجاد فایل Excel در پایتون

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
پشتیبانی
دسته‌ها
  • برنامه نویسی
  • عمومی
  • هوش مصنوعی
برچسب‌ها
ai ChatGPT copilot json python spyder xml آموزش ChatGPT آموزش برنامه نویسی چند نخی اسپایدر بازی دوز دستیار هوشمند سورس کد مدیریت فایل نصب هوش مصنوعی ٍExcel درپایتون پایتون پردازش تصویر پروژه پروژه c++ پروژه java پروژه python پروژه با سورس کد پروژه جاوا پروژه دفترچه تلفن پروژه سی پروژه ماشین حساب پروژه پایتون چت جی پی تی
رسانه آموزش آنلاین پرونش قصد دارد با همکاری انشارات هوش‌آموز یکی از بهترین و کاراترین مراکز آموزشی در ضمینه علوم کامپیوتر را با استفاده از منابع معتبر، به صورت کامل کاربردی و پروژه محور، با هدف آموزش جهت ورودی به بازار کار در اختیار علاقمندان قرار دهد. از شما درخواست می‌کنیم با استفاده قانونی از محصولات این سایت ما را در راستای رسیدن به این منظور یاری کنید.
دسترسی سریع
  • خانه
  • دوره ها
  • اخبار
  • تماس با ما
خبرنامه

چیزی را از دست ندهید، ثبت نام کنید و در مورد شرکت ما مطلع باشید.

نمادها
© 1404. رسانه آموزشی پرونش Pronesh

هوش مصنوعی

  • 11 دوره

حل تمرین

  • 2 دوره

متلب

  • 12 دوره

++C/C

  • 1 دوره

پایتون

  • 2 دوره

برنامه نویسی

  • 10 نوشته

عمومی

  • 1 نوشته

هوش مصنوعی

  • 6 نوشته
برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
Facebook Twitter Youtube Instagram Whatsapp