更新時間:2022-09-20 10:27:09 來源:動力節(jié)點 瀏覽1695次
使用 DOM 和 StringReader。
導(dǎo)入 javax.xml.parsers.*;
導(dǎo)入 org.xml.sax.InputSource;
導(dǎo)入 org.w3c.dom.*;
導(dǎo)入java.io.*;
公共類 ParseXMLString {
公共靜態(tài)無效主要(字符串a(chǎn)rg []){
字符串 xmlRecords =
"<數(shù)據(jù)>" +
" <員工>" +
" <name>約翰</name>" +
" <title>經(jīng)理</title>" +
" </員工>" +
" <員工>" +
" <name>薩拉</name>" +
" <title>文員</title>" +
" </員工>" +
"</數(shù)據(jù)>";
嘗試 {
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xmlRecords));
文檔 doc = db.parse(is);
NodeList 節(jié)點 = 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("標(biāo)題:" + getCharacterDataFromElement(line));
}
}
捕獲(異常 e){
e.printStackTrace();
}
/*
輸出 :
姓名:約翰
職稱:經(jīng)理
姓名:薩拉
職稱:文員
*/
}
公共靜態(tài)字符串 getCharacterDataFromElement(元素 e){
節(jié)點子 = e.getFirstChild();
if(CharacterData 的子實例){
CharacterData cd = (CharacterData) 孩子;
返回 cd.getData();
}
返回 ”?”;
}
}