1. 程式人生 > >Python XML

Python XML

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