2019獨角獸企業重金招聘Python工程師標準>>>
1.DOM解析XML
? ? ? ? DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
框架源代碼和網頁源代碼、DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(new FileInputStream(file));
得到的Document對象就是XML文檔對象的實體
什么是開源框架?NodeList nodeList = document.getElementsByTagName("book");
得到標簽名稱是book的節點集合
php接口框架?Node和Element的區別:
? ?node和Element是兩個領域的概念。
? ? ? ? NODE是相對TREE這種數據結構而言的。TREE就是由NODE組成。這個部分你可以參考離散數學的樹圖。
web前端整站源碼,
? ? ? ? ELEMENT則是XML里的概念,<xxx>就是元素,是XML中的數據的組成部分之一。
? ? ? ? 元素(Element)和結點(Node)的區別,元素是一個小范圍的定義,必須是含有完整信息的結點才是一個元素,
如何閱讀框架源碼,例如<div>...</div>。但是一個結點不一定是一個元素,而一個元素一定是一個結點。
舉例來說:
<book class="Hello World 2">
Java框架? ? ? ?<name scope="test">Spring in Action</name>
? ? ?<price scope="dev">39.0</price>
? ?</book>
java源碼大全、這整個可以理解為一個Element ,但是如果使用geiChildNode 發現有5個Node,分別是<name></name> , <price></price>,Spring in Action ,39.0 </book>
代碼實例如下:
PHP框架、
NodeList nodeList = document.getElementsByTagName("book");
for (int i = 0; i < nodeList.getLength(); i++) {
Xml解析、Node node = nodeList.item(i);
Element element = (Element) node;
System.err.println(element.getAttribute("class"));
NodeList nodeList2 = element.getElementsByTagName("price");
html5框架,System.err.println(((Element) (nodeList2.item(0))).getAttribute("scope"));
}
//for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
System.err.println(node.getChildNodes().getLength());
}
打印的結果是5?
? ?NodeList child = node.getChildNodes();
for (int j = 0; j < child.getLength(); j++) {
System.err.println(child.item(j).getNodeType() + "node Type");
}
? ? 打印結果依次為:
3node Type
? ? ? ? ? ? 1node Type
? ? ? ? ? ? 3node Type
? ? ? ? ? ? 1node Type
? ? ? ? ? ? 3node Type
可以驗證我們想要表達的
2.SAX解析XML文件
? 重要的一點:EntityResolver 這個究竟是為了干什么 :?http://www.cnblogs.com/mjorcen/p/3642855.html?這個文章有詳細的解釋
? ? ? ?繼承DefaultHandler 這個類 主要重載以下方法就可以實現一些類似的操作:
? ? ?startDocument :XML解析開始
? ? ? ? ? endDocument:XML解析結束 ?
? ? ? ? ? startElement:解析元素開始
? ? ? ? ? endElement:解析元素結束
? ? ? ? ? characters:獲取節點中間文字內容