一:XML概念:
XML(eXtended Markup Language)可擴展標示語言
XML是跨平臺、跨網絡、跨語言的用來數據交換、系統配置的可擴展標示語言。
XML的優點:能夠清晰地進行數據描述。
XML格式:
<?xml version="1.0" encoding="utf-8"?>
<根標籤>
<子標籤>數據</子標籤>
...
</根標籤>node
二:XML解析
1.Pull解析 (以事件常量的方式解析)
XmlPullParserFactory factory=XmlPullParserFactory.newInstance(); // 建立解析工廠
XmlPullParser xmlParser=factory.newPullParser(); // 生成解析對象
xmlParser.setInput(new StringReader(content)); // 設置要讀取的內容
int type=xmlParser.getEventType(); // 獲取當前解析的事件類型常量
String tagName=xmlParser.getName(); // 獲取當前的標籤名稱
xmlParser.next(); // 將遊標下移,獲取下一個事件常量
String userName=xmlParser.getText(); // 獲取文本網絡
2.SAX解析 (Simple Api for Xml) 針對XML的簡單解析API
SAX以事件通知的方式解析XML。
自定義一個繼承自DefaultHandler的類,複寫其中的相關方法。
SAXParserFactory factory=SAXParserFactory.newInstance(); // 建立解析工廠
SAXParser parser=factory.newSAXParser(); // 建立解析對象
File f=new File("xxx");
實例化DefaultHandler對象handler
parser.parse(f,handler); // 解析XMLui
3.DOM解析(瞭解)(Document Object Model)
將XML結構以DOM樹結構解析到內存中。
DOM解析能夠隨機訪問DOM樹中的節點。
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse("file對象"); // 解析XML到內存中
NodeList nodeList=doc.getElementsByTagName("標籤名");
Node node = nodeList.item(index);
String nodeValue=node.getFirstChild().getNodeValue();xml