更新時間:2022-09-20 10:27:09 來源:動力節點 瀏覽1287次
使用 DOM 和 StringReader。
導入 javax.xml.parsers.*;
導入 org.xml.sax.InputSource;
導入 org.w3c.dom.*;
導入java.io.*;
公共類 ParseXMLString {
公共靜態無效主要(字符串arg []){
字符串 xmlRecords =
"<數據>" +
" <員工>" +
" <name>約翰</name>" +
" <title>經理</title>" +
" </員工>" +
" <員工>" +
" <name>薩拉</name>" +
" <title>文員</title>" +
" </員工>" +
"</數據>";
嘗試 {
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xmlRecords));
文檔 doc = db.parse(is);
NodeList 節點 = doc.getElementsByTagName("employee");
// 迭代員工
for (int i = 0; i < nodes.getLength(); i++) {
元素 element = (Element) nodes.item(i);
NodeList name = element.getElementsByTagName("name");
元素行 = (元素) name.item(0);
System.out.println("名稱:" + getCharacterDataFromElement(line));
NodeList title = element.getElementsByTagName("title");
line = (元素) title.item(0);
System.out.println("標題:" + getCharacterDataFromElement(line));
}
}
捕獲(異常 e){
e.printStackTrace();
}
/*
輸出 :
姓名:約翰
職稱:經理
姓名:薩拉
職稱:文員
*/
}
公共靜態字符串 getCharacterDataFromElement(元素 e){
節點子 = e.getFirstChild();
if(CharacterData 的子實例){
CharacterData cd = (CharacterData) 孩子;
返回 cd.getData();
}
返回 ”?”;
}
}
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習