XML语言

目录

1.1 什么是XML语言

1.2 XML和HTML的区别

1.3 XML文档结构

1.4 文档类型定义

1.5 XML Schema

1.6 XPath

1.6解析XML文档

1.7 Python解析XML文档


1.1 什么是XML语言

1、XML是可扩展标记语言(eXtensible Markup Language)

2、XML是与HTML相似的语言

3、XML用于数据交换

1.2 XML和HTML的区别

XML 和 HTML 都是标记语言。HTML 使用预定义的标签,而 XML 标签是自定义的

XML注重显示数据本身,HTML注重显示的外观和格式

1.3 XML文档结构

1、声明

2、元素

3、根元素

4、子元素

5、元素命名规范

6、属性

7、使用属性还是元素

8、实体

9、CDATA节

10、注释

 

11、名字空间

                   

1.4 文档类型定义

1、有效的文档

2、DTD文档

                

3、DTD文档声明及引用

4、DTD元素定义

5、DTD属性定义

属性定义语法 <! ATTLIST 元素名称 属性名称 类型  属性特点>

      1、

      2、

      3、

      4、

      5、

6、属性特点

   

               

1.5 XML Schema

1、

2、Schema与DTD的区别

3、Schema文档结构

     1、

4、Schema数据类型

 

5、复杂数据类型

6、元素的数量

1.6 XPath

1、

2、节点 

3、Xpath语法

1.6解析XML文档

1.7 Python解析XML文档

1、ElementTree模块

2、查找指定的子节点

3、添加节点

4、删除节点

5、重新写入

6、

 

import xml.etree.ElementTree as ET

# 遍历节点函数
def read():

    # 创建XML文档节点树
    tree = ET.parse("bookstore.xml")
    # root是根节点
    root = tree.getroot()

    # 获得所有的book节点
    book_node_list = root.findall("book")
    # 遍历所有的book节点
    for book_node in book_node_list:
        print("--------记录----------")
        # 遍历book节点所有子节点
        for node in book_node:
            # 判断是否是title节点
            if node.tag == "title":
                # 取出lang属性
                value = node.attrib["lang"]
                print("lang : {}".format(value))

            print("{} : {}".format(node.tag, node.text))

    print("遍历节点完成")


# 插入节点
def insert():

    # 创建XML文档节点树
    tree = ET.parse("bookstore.xml")
    # root是根节点
    root = tree.getroot()

    # 创建一个新的book节点对象
    new_book_node = ET.Element("book")
    # 创建一个新的title节点对象
    new_title_node = ET.SubElement(new_book_node, "title")
    new_title_node.text = "Python从小白到大牛"
    new_title_node.attrib["lang"] = "zh"

    # 创建一个新的price节点对象
    new_price_node = ET.SubElement(new_book_node, "price")
    new_price_node.text = "89.9"

    # 将book节点添加到根节点(books)中
    root.append(new_book_node)

    # 保存到XML文件
    tree.write("bookstore2.xml", "utf-8")

    print("修改完成")


# 删除节点
def remove():

    # 创建XML文档节点树
    tree = ET.parse("bookstore.xml")
    # root是根节点
    root = tree.getroot()

    # XPath表达式
    expression = ".//title[@lang='zh']/.."
    book_node = root.find(expression)

    # 删除book节点
    root.remove(book_node)

    # 保存到XML文件
    tree.write("bookstore3.xml", "utf-8")

    print("删除完成")


# 主函数
def main():
    read()
    insert()
    remove()


if __name__ == '__main__':
    main()

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值