📜  使用Python创建 XML 文档

📅  最后修改于: 2022-05-13 01:55:25.699000             🧑  作者: Mango

使用Python创建 XML 文档

可扩展标记语言 (XML)是一种标记语言,您可以使用它来创建自己的标签。它由万维网联盟 (W3C) 创建以克服 HTML 的限制,HTML 是所有网页的基础。 XML 基于 SGML – 标准通用标记语言。它用于存储和传输数据。 XML 不依赖于平台和编程语言。您可以在任何平台上以任何语言编写程序,以使用 XML 发送、接收或存储数据。它定义了一组规则,用于以人类可读和机器可读的格式对文档进行编码。

数据存储在 XML 文档中。 XSL(可扩展样式表语言)文档描述了如何将 XML 文档转换为其他类型的文档(例如 HTML、TXT 甚至 XML)。转换过程称为 XSLT,有时也称为 XSL 转换。

例子:


    
 Robert    
 Mario 

注意:有关详细信息,请参阅 XML |基本

使用Python创建 XML 文档

1) 使用 minidom 创建 XML 文档
首先,我们导入minidom以使用xml.dom 。然后我们创建root元素并将其附加到 XML。之后创建父级的子产品,即 Geeks for Geeks。创建子产品后,文件名将保存为“根据您的选择.xml 的任何名称”。不要忘记在您为文件提供的文件名末尾附加 .xml。 Minidom 是文档对象模型接口的最小实现,其 API 类似于其他语言中的 API。它旨在比完整的 DOM 更简单,也更小。

例子:

from xml.dom import minidom
import os 
  
  
root = minidom.Document()
  
xml = root.createElement('root') 
root.appendChild(xml)
  
productChild = root.createElement('product')
productChild.setAttribute('name', 'Geeks for Geeks')
  
xml.appendChild(productChild)
  
xml_str = root.toprettyxml(indent ="\t") 
  
save_path_file = "gfg.xml"
  
with open(save_path_file, "w") as f:
    f.write(xml_str) 

输出:

创建-xml-python-1

2) 使用 ElementTree 创建 XML 文档
首先,我们必须导入'xml.etree.ElementTree'来创建子树。之后,我们制作根元素,并且该根元素应该在预期的块中,否则会出现错误。创建根元素后,我们可以轻松创建树结构。然后该文件将存储为“您要为该 file.xml 提供的名称”。 ElementTree 是一个重要的Python库,它允许您解析和导航 XML 文档。使用 ElementTree,我们可以将文档分解为易于使用的树结构。

例子:

import xml.etree.ElementTree as gfg 
  
  
def GenerateXML(fileName) :
      
    root = gfg.Element("Catalog")
      
    m1 = gfg.Element("mobile")
    root.append (m1)
      
    b1 = gfg.SubElement(m1, "brand")
    b1.text = "Redmi"
    b2 = gfg.SubElement(m1, "price")
    b2.text = "6999"
      
    m2 = gfg.Element("mobile")
    root.append (m2)
      
    c1 = gfg.SubElement(m2, "brand")
    c1.text = "Samsung"
    c2 = gfg.SubElement(m2, "price")
    c2.text = "9999"
      
    m3 = gfg.Element("mobile")
    root.append (m3)
      
    d1 = gfg.SubElement(m3, "brand")
    d1.text = "RealMe"
    d2 = gfg.SubElement(m3, "price")
    d2.text = "11999"
      
    tree = gfg.ElementTree(root)
      
    with open (fileName, "wb") as files :
        tree.write(files)
  
# Driver Code
if __name__ == "__main__": 
    GenerateXML("Catalog.xml")

输出:

创建-xml-python-2

有三个辅助函数可用于创建 Elementnodes 的层次结构。 Element()函数创建一个标准节点, SubElement()函数将一个新节点附加到父节点, Comment()函数创建一个使用 XML 的注释语法进行序列化的节点。

可以使用withset()一次配置一个属性值(与根节点一样),或者通过将字典传递给节点工厂(与每个组和播客节点一样)一次性配置所有属性值。