Hướng dẫn text to xml python - văn bản sang xml python

Trước khi đọc bài này, các bạn nên đọc bài Đọc (read) file XML với Python để biết khái niệm cơ bản của XML cũng như cách đọc một file XML. Với những kiến thức đó, các bạn sẽ dễ dàng hiểu được những cách ghi (write) file XML trong Python.

1. Ghi (write) file XML với ElementTree

Module ElementTree là một công cụ tuyệt với để giúp ghi dữ liệu vào file XML. Các bước để tạo file XML và ghi dữ liệu vào file XML với ElementTree như sau:ElementTree là một công cụ tuyệt với để giúp ghi dữ liệu vào file XML. Các bước để tạo file XML và ghi dữ liệu vào file XML với ElementTree như sau:

Bước 1. Tạo ra một thẻ root trong file XML.. Tạo ra một thẻ root trong file XML.

Bước 2. Sử dụng hàm SubElement() để tạo ra các thẻ con nằm trong thẻ root với cú pháp sau:. Sử dụng hàm SubElement() để tạo ra các thẻ con nằm trong thẻ root với cú pháp sau:

SubElement(parent, tag, attrib={}, **extra)

Trong đó, parent là tên của thẻ root, tag là tên của thẻ con nằm trong thẻ root. attrib là một dictionary chứa các thuộc tính của thẻ con. extra chứa những thuộc tính bổ sung., parent là tên của thẻ root, tag là tên của thẻ con nằm trong thẻ root. attrib là một dictionary chứa các thuộc tính của thẻ con. extra chứa những thuộc tính bổ sung.

Hàm SubElement() sẽ trả về một đối tượng là một thẻ mới.SubElement() sẽ trả về một đối tượng là một thẻ mới.

Bước 3. Chúng ta có thể sử dụng hàm set() để thêm các thuộc tính cho thẻ mới được tạo ra. Text của một thẻ được gán với thuộc tính text.. Chúng ta có thể sử dụng hàm set() để thêm các thuộc tính cho thẻ mới được tạo ra. Text của một thẻ được gán với thuộc tính text.

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
Kết quả nội dung của file items2.xml được tạo ra
bookchairwindow

2. Ghi (write) file XML với minidom

Với minidom, các thẻ trong file XML được xem như là các đối tượng (object). Các bước để tạo file XML và ghi dữ liệu vào file XML với minidom như sau:minidom, các thẻ trong file XML được xem như là các đối tượng (object). Các bước để tạo file XML và ghi dữ liệu vào file XML với minidom như sau:

Bước 1. Sử dụng hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
0 để tạo một tài liệu XML.. Sử dụng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
0
để tạo một tài liệu XML.

Bước 2. Tạo một đối tượng gốc đại diện cho thẻ root trong file XML bằng cách dùng hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
1. Nối thẻ root vào file XML bằng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
2.
. Tạo một đối tượng gốc đại diện cho thẻ root trong file XML bằng cách dùng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
1
. Nối thẻ root vào file XML bằng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
2
.

Bước 3. Tạo các đối tượng con đại diện cho các thẻ con nằm trong thẻ root cũng với hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
1. Sử dụng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
4 để thiết lập thuộc tính (nếu có) cho các thẻ con.
. Tạo các đối tượng con đại diện cho các thẻ con nằm trong thẻ root cũng với hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
1
. Sử dụng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
4
để thiết lập thuộc tính (nếu có) cho các thẻ con.

Bước 4. Nối các thẻ con vào file XML bằng hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
2.. Nối các thẻ con vào file XML bằng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
2
.

from xml.dom import minidom

# create a xml document  
root = minidom.Document()
# create data tag as root tag
data = root.createElement('data')
root.appendChild(data)

# create child tag of data tag
items = root.createElement('items')
data.appendChild(items)

# create child tag of items
item1 = root.createElement('item')
item1.setAttribute('name', 'item1')
item1.setAttribute('price', '5')
item1.Text = 'book'
items.appendChild(item1)
item1Text = root.createTextNode("book")
item1.appendChild(item1Text)

item2 = root.createElement('item')
item2.setAttribute('name', 'item2')
item2.setAttribute('price', '15')
items.appendChild(item2)
item2Text = root.createTextNode("chair")
item2.appendChild(item2Text)

item3 = root.createElement('item')
item3.setAttribute('name', 'item3')
item3.setAttribute('price', '20')
items.appendChild(item3)
item3Text = root.createTextNode("window")
item3.appendChild(item3Text)

# create a new XML file
mydata = root.toprettyxml(indent ="\t")
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
Kết quả nội dung của file items2.xml được tạo ra


    
        book
        chair
        window
    

2. Ghi (write) file XML với minidom

Với minidom, các thẻ trong file XML được xem như là các đối tượng (object). Các bước để tạo file XML và ghi dữ liệu vào file XML với minidom như sau:BeautifulSoup để tạo và ghi một file XML. Các bước để tạo file XML và ghi dữ liệu vào file XML với BeautifulSoup như sau:

Bước 1. Sử dụng hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
0 để tạo một tài liệu XML.. Sử dụng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
6
để tạo một tài liệu XML rỗng.

Bước 2. Tạo một đối tượng gốc đại diện cho thẻ root trong file XML bằng cách dùng hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
1. Nối thẻ root vào file XML bằng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
2.
. Tạo một tag mới bằng cách dùng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
7
. Nối tag mới vào file XML bằng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
8
.

Bước 3. Tạo các đối tượng con đại diện cho các thẻ con nằm trong thẻ root cũng với hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
1. Sử dụng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
4 để thiết lập thuộc tính (nếu có) cho các thẻ con.
. Tạo các thẻ con nằm trong thẻ đã tạo cũng với hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
7
. Sử dụng thuộc tính string để thiết lập văn bản (text) cho các thẻ con. Thiết lập thuộc tính cho thẻ con bằng cách sử dụng dấu ngoặc vuông [] và gán giá trị cho thuộc tính đó.

Bước 4. Nối các thẻ con vào file XML bằng hàm

import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
2.. Nối các thẻ con vào file XML bằng hàm
import xml.etree.ElementTree as ET

# create the file structure
data = ET.Element('data')

items = ET.SubElement(data, 'items')

item1 = ET.SubElement(items, 'item')
item2 = ET.SubElement(items, 'item')
item3 = ET.SubElement(items, 'item')

item1.set('name', 'item1')
item1.set('price', '5')
item2.set('name','item2')
item2.set('price','15')
item3.set('name', 'item3')
item3.set('price','20')

item1.text = 'book'
item2.text = 'chair'
item3.text = 'window'

# create a new XML file
mydata = ET.tostring(data, encoding='unicode')
myxmlfile = open("items2.xml", "w")
myxmlfile.write(mydata)
myxmlfile.close()
8
.

  • 3. Ghi (write) file XML với BeautifulSoup
  • Chúng ta cũng có thể sử dụng BeautifulSoup để tạo và ghi một file XML. Các bước để tạo file XML và ghi dữ liệu vào file XML với BeautifulSoup như sau:
  • Bước 1. Sử dụng hàm
    import xml.etree.ElementTree as ET
    
    # create the file structure
    data = ET.Element('data')
    
    items = ET.SubElement(data, 'items')
    
    item1 = ET.SubElement(items, 'item')
    item2 = ET.SubElement(items, 'item')
    item3 = ET.SubElement(items, 'item')
    
    item1.set('name', 'item1')
    item1.set('price', '5')
    item2.set('name','item2')
    item2.set('price','15')
    item3.set('name', 'item3')
    item3.set('price','20')
    
    item1.text = 'book'
    item2.text = 'chair'
    item3.text = 'window'
    
    # create a new XML file
    mydata = ET.tostring(data, encoding='unicode')
    myxmlfile = open("items2.xml", "w")
    myxmlfile.write(mydata)
    myxmlfile.close()
    
    6 để tạo một tài liệu XML rỗng.
  • Bước 2. Tạo một tag mới bằng cách dùng hàm
    import xml.etree.ElementTree as ET
    
    # create the file structure
    data = ET.Element('data')
    
    items = ET.SubElement(data, 'items')
    
    item1 = ET.SubElement(items, 'item')
    item2 = ET.SubElement(items, 'item')
    item3 = ET.SubElement(items, 'item')
    
    item1.set('name', 'item1')
    item1.set('price', '5')
    item2.set('name','item2')
    item2.set('price','15')
    item3.set('name', 'item3')
    item3.set('price','20')
    
    item1.text = 'book'
    item2.text = 'chair'
    item3.text = 'window'
    
    # create a new XML file
    mydata = ET.tostring(data, encoding='unicode')
    myxmlfile = open("items2.xml", "w")
    myxmlfile.write(mydata)
    myxmlfile.close()
    
    7. Nối tag mới vào file XML bằng hàm
    import xml.etree.ElementTree as ET
    
    # create the file structure
    data = ET.Element('data')
    
    items = ET.SubElement(data, 'items')
    
    item1 = ET.SubElement(items, 'item')
    item2 = ET.SubElement(items, 'item')
    item3 = ET.SubElement(items, 'item')
    
    item1.set('name', 'item1')
    item1.set('price', '5')
    item2.set('name','item2')
    item2.set('price','15')
    item3.set('name', 'item3')
    item3.set('price','20')
    
    item1.text = 'book'
    item2.text = 'chair'
    item3.text = 'window'
    
    # create a new XML file
    mydata = ET.tostring(data, encoding='unicode')
    myxmlfile = open("items2.xml", "w")
    myxmlfile.write(mydata)
    myxmlfile.close()
    
    8.
  • Bước 3. Tạo các thẻ con nằm trong thẻ đã tạo cũng với hàm
    import xml.etree.ElementTree as ET
    
    # create the file structure
    data = ET.Element('data')
    
    items = ET.SubElement(data, 'items')
    
    item1 = ET.SubElement(items, 'item')
    item2 = ET.SubElement(items, 'item')
    item3 = ET.SubElement(items, 'item')
    
    item1.set('name', 'item1')
    item1.set('price', '5')
    item2.set('name','item2')
    item2.set('price','15')
    item3.set('name', 'item3')
    item3.set('price','20')
    
    item1.text = 'book'
    item2.text = 'chair'
    item3.text = 'window'
    
    # create a new XML file
    mydata = ET.tostring(data, encoding='unicode')
    myxmlfile = open("items2.xml", "w")
    myxmlfile.write(mydata)
    myxmlfile.close()
    
    7. Sử dụng thuộc tính string để thiết lập văn bản (text) cho các thẻ con. Thiết lập thuộc tính cho thẻ con bằng cách sử dụng dấu ngoặc vuông [] và gán giá trị cho thuộc tính đó.

from bs4 import BeautifulSoup

# create an empty xml document
soup = BeautifulSoup(features='xml')

# create data tag as root tag
data = soup.new_tag("data")
soup.append(data)

# create child tag of data tag
items = soup.new_tag("items")
data.append(items)

# create child tag of items
item1 = soup.new_tag('item')
item1.string = "book"
item1["name"] = "item1"
item1["price"] = "5"
items.append(item1)
item2 = soup.new_tag('item')
item2.string = "chair"
item2["name"] = "item2"
item2["price"] = "15"
items.append(item2)
item3 = soup.new_tag('item')
item3.string = "window"
item3["name"] = "item3"
item3["price"] = "20"
items.append(item3)

# create a new XML file
myxmlfile = open("items2.xml", "w")
myxmlfile.write(soup.prettify())
myxmlfile.close()
Kết quả nội dung của file items2.xml được tạo ra


 
  
   book
  
  
   chair
  
  
   window