解析思想
解析: 讀取xml.將xml中記錄 的資料提取.
dom document object model 文件物件模型
dom思想是由w3c組織(world wide web)發布的.
核心思想: 把文件中所有內容都 封裝成物件.
物件種類:
document 整個(html,xml)文件
element 文件中每乙個標籤都會被封裝成element物件
attribute 標籤上的每乙個屬性都會被封裝成attribute
text 文件中,標籤內的文字都會封裝成text物件
common 注釋,文件中的注釋 ,會被封裝成common.
dom的優勢:
將文件結構(所有內容)都以物件的形式保留在了記憶體中.我們可以對記憶體中的(dom樹)進行增刪改查操作,並且操作很方便.
dom的劣勢:
因為保留了全部文件內容,資源消耗比較大.
sax解析思想
出身: 出身於國外論壇.
解析原理: 事件驅動.
優點: 在讀取xml文件時, 已經根據定義好的事件,對xml內容進行了篩選.解析完成後,
記憶體中只保留了我們想要的內容.比較節約資源. 在資源比較匱乏的平台使用.
缺點: 沒有保留文件的結構. 無法進行增刪改的操作.
sax中的事件:
文件開始事件: startdocument
文件結束事件: enddocument
元素開始事件: startelement
元素結束事件: endelement
文字事件:character
pull解析
與sax一樣.都屬於事件驅動的解析方式.
相比sax解析過程更加靈活.
sax一旦開始解析就是從頭讀到尾.不解析完整個文件不會停
pull解析較為靈活.是以事件為單位.手動向下繼續. 如果獲得到我們要找的內容. 可以停止繼續解析.
要解析的stu.xml檔案
<?xml version="1.0" encoding="utf-8" ?>
number="panpan_0001" >
tomname>
<***>male***>
18age>
student>
number="panpan_0002" >
jerryname>
<***>male***>
16age>
student>
students>
解析的**:
實體類部分
package cn.wonders.bean;
public
class
student
public
void
setnumber(string number)
public string getname()
public
void
setname(string name)
public string get***()
public
void
set***(string ***)
public
intgetage()
public
void
setage(int age)
@override
public string tostring()
}
解析部分:
public
class pulltool else
if ("student".equals(parser.getname())) else
if ("name".equals(parser.getname())) else
if("***".equals(parser.getname()))else
if("age".equals(parser.getname()))
break;
case xmlpullparser.end_tag:
if ("student".equals(parser.getname()))
break;
default:
break;
}type = parser.next();
}return list;
}public
static
void
main(stringargs)throws exception
}
解析的結果為:
[student[number=panpan_0001,name=tom,***=male,age=18], student[number=panpan_0002,name=jerry,***=male,age=16]]
etree解析xml XML 檔案解析
目錄 xml 介紹elementtree 基礎講解2.1 節點屬性2.2 節點搜尋獲取矩形框的座標和類別參考 我需要對目標檢測標註工具 labelimg 得到的xml檔案進行解析,得到其中矩形框對應的類別和座標值,所以對python下面的elementtree研究了一下。xml全稱為可擴充套件標記語...
XML(XML概述 XML約束 XML解析)
1 xml 可擴充套件的標記語言。2 xml的作用 3 xml語法 注釋 元素 element 標籤 tag 格式化良好的xml文件,必須只有乙個根元素 屬性 attribute 轉義字元 cdata區 1 xml約束 2 根據dtd約束寫xml文件 3 三種dtd約束 4 schema約束 1 x...
XML XML粗淺理解
xml 作為乙個應用比較廣泛的標記語言,xml是乙個龐大的家族。絕大多數的xml檔案都是從宣告開始的。xml的宣告由版本號和字元編碼方案組成 xml在檔案結構上採用單根樹狀結構。所有的屬性都是從根開始,逐步擴充套件到葉子。在xml中,所有的內容必須在乙個單一元素的子集中,這個單一元素被稱為根元素。需...