Python XML
阿新 • • 發佈:2017-07-25
tor 交互 寫敏感 反序列化 以及 log ext 文檔 target
2017-07-24 22:58:16
xml 和 json 都是數據交互的格式。
想象一下,python中的字典數據要傳給java使用,但是眾所周知的是java中只有hashmap數據結構,並沒有字典,所以在傳輸時需要對python中的數據進行序列化操作,就是講字典數據轉成xml或者json格式,在java接收端,進行反序列化,將xml 或者 json轉換為自己需要的格式。
不是說都要進行模式轉換的,不過當雙方通信時,數據無法正確接收和傳輸的時候,就需要進行模式轉換了。
一、xml
- XML 指可擴展標記語言(EXtensible Markup Language)。
- XML 是一種很像HTML的標記語言。
- XML 的設計宗旨是傳輸數據,而不是顯示數據。
- XML 標簽沒有被預定義。您需要自行定義標簽。
- XML 被設計為具有自我描述性。
- XML 是 W3C 的推薦標準。
xml 和 html的區別:
XML 不是 HTML 的替代。
XML 和 HTML 為不同的目的而設計:
- XML 被設計用來傳輸和存儲數據,其焦點是數據的內容。
- HTML 被設計用來顯示數據,其焦點是數據的外觀。
HTML 旨在顯示信息,而 XML 旨在傳輸信息。
xml 的樹結構
<?xml version="1.0" encoding="UTF-8"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don‘t forget me this weekend!</body> </note>
第一行是 XML 聲明。它定義 XML 的版本(1.0)和所使用的編碼(UTF-8 : 萬國碼, 可顯示各種語言)。
下一行描述文檔的根元素(像在說:"本文檔是一個便簽")
接下來 4 行描述根的 4 個子元素(to, from, heading 以及 body)
後一行定義根元素的結尾
您可以假設,從這個實例中,XML 文檔包含了一張 Jani 寫給 Tove 的便簽。
父、子以及同胞等術語用於描述元素之間的關系。父元素擁有子元素。相同層級上的子元素成為同胞(兄弟或姐妹)。所有的元素都可以有文本內容和屬性(類似 HTML 中)。
舉個例子:
<bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
上圖和xml 代碼一一對應。
xml還有一些語法要求諸如必須要有根元素,大小寫敏感等要求,還有格式限制等,具體可以參照http://www.runoob.com/python3/python3-xml-processing.html
Python XML