一、XML文件註意點 1.內容中不能出現尖括弧 例如:下麵是不合法的 解決方案:使用實體引用<EntityReference>,可以理解為轉義 2.另一種方法:把含有保留字元的部分放在CDATA塊內部,CDATA塊把內部信息視為不需要轉義 3.常用的需要轉義的保留字元和對應的實體應用 &:& ...
一、XML文件註意點
1.內容中不能出現尖括弧
例如:下麵是不合法的
<grade>成績<90</grade>
解決方案:使用實體引用<EntityReference>,可以理解為轉義
<grade>成績&st;90</grade> #<代表小於號,>代表大於號
2.另一種方法:把含有保留字元的部分放在CDATA塊內部,CDATA塊把內部信息視為不需要轉義
<![CDATA[ select name,age from Student where score>80 ]]>
3.常用的需要轉義的保留字元和對應的實體應用
&:&
<:<
>:>
':'
":"
一共五個,每個實體引用都是以&開頭並且以分號結尾的
4.命名規則
Pascal命名法;用單詞命名,首字母大寫;大小寫嚴格區分;配對的標簽必須是一致的。
5.命名空間
為了防止命名衝突,需要給可能產生衝突的元素添加命名空間
xmlns:xml name space 的縮寫
例子:
<Schooler xmlns:student="http://my_student" xmlns="http://my_room"> <student:Name>LiuYing</student:Name><!--其實這裡面的name容易產生歧義,所以定義了兩個命名空間來對name加以區分--> <Age>23</Age> <room:Name>2014</room:Name> <Location>1-23-1</Location> </Schooler>
6.xml訪問
(1)讀取
SAX(Simple API for XML):基於事件驅動API
利用SAX解析文檔設計到解析器和事件處理兩部分
特點:i.快;ii.流式讀取(通俗的來說按順序讀下去);
DOM:i.是w3c規定的XML編程介面;ii.一個XML文件在緩存中以樹形結構保存,讀取;iii.用途:定位瀏覽XML任何一個節點信息;添加刪除相應內容;iv.minidom:
minidom.parse(filename):載入讀取的xml文件,filename也可以是xml代碼。
doc.documentElement:獲取xml文檔對象,一個xml文件只有一個對於的文檔對象。
node.getAttribute(attr_name):獲取xml節點的屬性值。
node.getElementByTagName(tag_name):得到一個節點對象集合。
node.childNodes:得到所有孩子節點。
node.childNodes[indexs].nodeValue:獲取單個節點值。
node.fistNode:得到第一個節點,等價於:node.childInde[0]
node.attributes[tag_name]
三、源碼
D30_1_XmlNameSpace.xml
https://github.com/ruigege66/Python_learning/blob/master/D30_1_XmlNameSpace.xml
2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料