摘要:不使用外部聲明屬性單雙引號皆可大小寫敏感大小寫不敏感必須有根元素實體引用實體任何包含數據的項實體中要使用轉義字符無論寫什么,都當作普通文本逐行掃描,邊掃描邊解析,速度快不能對節點進行修改構造,方便遍歷和修改對于大文件,內存壓力大獲取子
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 實體引用實體:任何包含數據的項
實體中要使用轉義字符:
< | < |
> | > |
& | & |
' | " |
" | " |
format:2. Parsers 2.1 SAX & DOM
無論text寫什么,都當作普通文本
SAX: simple API for XML
Pros: 逐行掃描,邊掃描邊解析,速度快
Cons: 不能對節點進行修改
DOM: Document Object Model
pros: 構造Tree,方便遍歷和修改
cons: 對于大文件,內存壓力大
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():只能調用一次 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 |
// | 任意位置的某個節點 |
@ | 選擇屬性 |
Predicates:
[predicates]
/books/book[1] | 選擇第一個book子元素 |
/books/book[last()] | 選擇最后一個book子元素 |
/books/book[@lang] | 選擇有lang屬性的子元素 |
/books/book[@lang="eng"] | 選擇有lang屬性為eng的子元素 |
/books/book[price] | 選擇有price子元素的book |
/books/book/price[.>35.00] | 選擇大于35的/books/book/的price子元素 |
通配符:
* | 任何元素 |
@* | 任何屬性 |
node() | 任何類型的節點 |
//* | 所有元素 |
/*/* | 所有第二層元素 |
DOM4J對XPath的支持:
List list = doc.selectNodes("...");
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110385.html
摘要:顯示中文此外,單獨拎出來的另一個原因是,還有一個中文顯示的問題。首先我們來看可以使用的字體你應該看到下面這樣的表格然后找到支持中文的字體名,然后設置的默認字體當然,你可以添加到剛才的配置中,或者采用這個博客的方法。 又到擺脫重復工作,換個心情,然而并沒有軟用的時間了。這次,教大家如何搭建一個好看的jupyter環境。 安裝Jupyter 先來展示一下我的環境 python: 3.5....
摘要:在此探討的是級別以下的數據之上的分析,有基于的分布式任務精度條,主要環境是下基于包的分析和特征工程任務。當然,首先我們得載入模塊,在中使用帶的基于顯示的進度條前,請務必檢查是否安裝模塊。 在具體的分析或者特征工程之中,經常會遇到處理時間很久的問題,當然必要的優化是必須的。但是顯然,數據量上升,計算量過大后,處理時間是必須的此。時,如果有個可以幫助您查看任務進度的進度條,必定可以提高你抓...
摘要:連接遠程環境作為一個小巧的,使用方便的編輯器,受到許多初學者的喜愛考慮到本地配置的限制,往往想要調用遠程服務器中的,下文記錄下查閱網上資料嘗試的步驟遠程服務器中安裝本文使用的遠程服務器是,系首先,你的服務器中需要安裝,,此處不贅述由 連接遠程jupyter notebook ----windows環境 jupyter notebook作為一個小巧的,使用方便的python編輯器,受到許...
摘要:使用可實現實現多頁面切換直接上代碼華文行楷請點擊微軟雅黑請點擊微軟雅黑人生苦短,我用使我更加強大設置左上角小圖標設置窗口不可變 使用ttk.Notebook可實現實現多頁面切換 直接上代碼: import tkinter as tkfrom tkinter import ttkfrom ...
閱讀 2415·2021-11-25 09:43
閱讀 1195·2021-09-07 10:16
閱讀 2602·2021-08-20 09:38
閱讀 2935·2019-08-30 15:55
閱讀 1448·2019-08-30 13:21
閱讀 883·2019-08-29 15:37
閱讀 1435·2019-08-27 10:56
閱讀 2093·2019-08-26 13:45