摘要:不使用外部聲明屬性單雙引號皆可大小寫敏感大小寫不敏感必須有根元素實體引用實體任何包含數(shù)據(jù)的項實體中要使用轉(zhuǎn)義字符無論寫什么,都當(dāng)作普通文本逐行掃描,邊掃描邊解析,速度快不能對節(jié)點進行修改構(gòu)造,方便遍歷和修改對于大文件,內(nèi)存壓力大獲取子
XML: EXtensible Markup Language1. Basic Syntax 1.1 Processing instruction
... ?> format
e.g.
Must have:
version
Optional:
standalone: yes/no : 不使用外部聲明
encoding: utf-8/gbk ...
1.2 element & attributeelement:
屬性:單雙引號皆可
1.3 大小寫敏感HTML:大小寫不敏感
1.4 必須有根元素 1.5 實體引用實體:任何包含數(shù)據(jù)的項
實體中要使用轉(zhuǎn)義字符:
< | < |
> | > |
& | & |
' | " |
" | " |
format:2. Parsers 2.1 SAX & DOM
無論text寫什么,都當(dāng)作普通文本
SAX: simple API for XML
Pros: 逐行掃描,邊掃描邊解析,速度快
Cons: 不能對節(jié)點進行修改
DOM: Document Object Model
pros: 構(gòu)造Tree,方便遍歷和修改
cons: 對于大文件,內(nèi)存壓力大
DOM4J:
DOM4J is an open source, Java-based library to parse XML documents.3. DOM4J 3.1 SAXReader:
DOM4J works with DOM, SAX, XPath, and XSLT. It can parse large XML documents with very low memory footprint.
SAXReader reader = new SAXReader(); Document doc = reader.read(new File(filename));3.2 Document
Element root = doc.getRootElement();3.3 Element
Element element(String name); // 獲取name子元素
List
String getName();
String getText();
Attribute attribute(int index / String name);
3.4 AttributeString getName();
String getValue();
3.5 Write 3.5.1 Create DocumentDocument DocumentHelper.createDocument(); Document的addElement():只能調(diào)用一次 Element root = doc.addElement("project");3.5.2 Element
addElement(String name);
addAttribute(String name, String val);
addText(String txt);
3.5.3 OutputXMLWriter writer = new XMLWriter(); FileOutputStream fos = new FileOutputStream("new.xml"); writer.setOutputStream(fos); writer.write(doc); writer.close();3.6 XPath
absolute path: starts with /
relative path: step/step
. | current node |
.. | the parent of current node |
/ | Selection starts from the root node |
// | 任意位置的某個節(jié)點 |
@ | 選擇屬性 |
Predicates:
[predicates]
/books/book[1] | 選擇第一個book子元素 |
/books/book[last()] | 選擇最后一個book子元素 |
/books/book[@lang] | 選擇有l(wèi)ang屬性的子元素 |
/books/book[@lang="eng"] | 選擇有l(wèi)ang屬性為eng的子元素 |
/books/book[price] | 選擇有price子元素的book |
/books/book/price[.>35.00] | 選擇大于35的/books/book/的price子元素 |
通配符:
* | 任何元素 |
@* | 任何屬性 |
node() | 任何類型的節(jié)點 |
//* | 所有元素 |
/*/* | 所有第二層元素 |
DOM4J對XPath的支持:
List list = doc.selectNodes("...");
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/110385.html
摘要:顯示中文此外,單獨拎出來的另一個原因是,還有一個中文顯示的問題。首先我們來看可以使用的字體你應(yīng)該看到下面這樣的表格然后找到支持中文的字體名,然后設(shè)置的默認(rèn)字體當(dāng)然,你可以添加到剛才的配置中,或者采用這個博客的方法。 又到擺脫重復(fù)工作,換個心情,然而并沒有軟用的時間了。這次,教大家如何搭建一個好看的jupyter環(huán)境。 安裝Jupyter 先來展示一下我的環(huán)境 python: 3.5....
摘要:在此探討的是級別以下的數(shù)據(jù)之上的分析,有基于的分布式任務(wù)精度條,主要環(huán)境是下基于包的分析和特征工程任務(wù)。當(dāng)然,首先我們得載入模塊,在中使用帶的基于顯示的進度條前,請務(wù)必檢查是否安裝模塊。 在具體的分析或者特征工程之中,經(jīng)常會遇到處理時間很久的問題,當(dāng)然必要的優(yōu)化是必須的。但是顯然,數(shù)據(jù)量上升,計算量過大后,處理時間是必須的此。時,如果有個可以幫助您查看任務(wù)進度的進度條,必定可以提高你抓...
摘要:連接遠程環(huán)境作為一個小巧的,使用方便的編輯器,受到許多初學(xué)者的喜愛考慮到本地配置的限制,往往想要調(diào)用遠程服務(wù)器中的,下文記錄下查閱網(wǎng)上資料嘗試的步驟遠程服務(wù)器中安裝本文使用的遠程服務(wù)器是,系首先,你的服務(wù)器中需要安裝,,此處不贅述由 連接遠程jupyter notebook ----windows環(huán)境 jupyter notebook作為一個小巧的,使用方便的python編輯器,受到許...
摘要:使用可實現(xiàn)實現(xiàn)多頁面切換直接上代碼華文行楷請點擊微軟雅黑請點擊微軟雅黑人生苦短,我用使我更加強大設(shè)置左上角小圖標(biāo)設(shè)置窗口不可變 使用ttk.Notebook可實現(xiàn)實現(xiàn)多頁面切換 直接上代碼: import tkinter as tkfrom tkinter import ttkfrom ...
閱讀 2444·2021-11-25 09:43
閱讀 1229·2021-09-07 10:16
閱讀 2651·2021-08-20 09:38
閱讀 2965·2019-08-30 15:55
閱讀 1510·2019-08-30 13:21
閱讀 915·2019-08-29 15:37
閱讀 1471·2019-08-27 10:56
閱讀 2112·2019-08-26 13:45