python XML解析

本文介绍了XML的基本概念,如根节点、DTD约束以及三种解析XML的方式:DOM、SAX和ElementTree。DOM将整个XML加载到内存,SAX事件驱动、按需解析,ElementTree则提供快速轻量级的解析。通过示例展示了各解析方法的使用。
摘要由CSDN通过智能技术生成

xml:
可扩展标记语言。标签形式展现,标签内名字可随意定义,属于HTML的一种,用于配置文件,可以用浏览器打开查看
根节点 只能有一个 开始和结束 子节点可带属性
    1.标签成对出现
    2.区分大小写
    3.标签要正确嵌套
    4.开始部分<?xml version="1.0" encoding="utf-8"?>
    5.只能有一个根节点
    6.节点可以有属性
DTD:
(Document(文档) Type(类型) Definition(文件))规定怎样去写 约束XML的节点
    <!DOCTYPE (根节点)[
        <!ELEMENT  根节点(子节点+)>——元素 +至少出现一次或多次
        <!ELEMENT 子节点(子节点属性1,2,3)>
        <!ELEMENT 子节点1(#PCDATA)>
        <!ELEMENT 子节点2(#PCDATA)>
        <!ELEMENT 子节点3(#PCDATA)>——纯文本
        <!ATTLISI 子节点  属性 CDATA #REQUIRED>——属性列表,哪个节点可以有属性,属性值是纯文本 #必须要有的
     ]>
   示例:
    <!DOCTYPE books [
        <!ELEMENT books (book+)>
        <!ELEMENT book (bname,price,author)>
        <!ELEMENT bname (#PCDATA)>
        <!ELEMENT price (#PCDATA)>
        <!ELEMENT author (#PCDATA)>
        <!ATTLIST book id CDATA #REQUIRED>
      ]>
  #REQUIRED(必需的), #IMPLIED(不是必需的), #FIXED(属性值是固定的)
点右键validate可以查看有没有错误 
可以查DTD文档有具体的属性使用方法




解析:
三种方式解析
1.dom(文档对象模型) :把解析的xml整个加载到内存,组织成object树。
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>