我們有一個目錄將搜索結果作爲XML文檔返回。在java中訪問xml元素中的屬性
<directory.person>
<person netid="" pidm="" student="" affiliate="">
<picture>no</picture>
<name>...</name>
</person>
我試圖解析和使用下面的代碼在Java閱讀:
try{
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
Document doc = db.parse(is);
NodeList nodes = doc.getElementsByTagName("person");
for(int i = 0;i < nodes.getLength(); i++){
Element element = (Element) nodes.item(i);
NodeList pidm = element.getElementsByTagName("@pidm");
Element line = (Element)pidm.item(0);
value = getCharacterDataFromElement(line);
if(value.compareTo("Dana")==0 || value=="Dana")
out.println(value);
}
}
catch(Exception e){
out.println(e);
}
我遇到的問題是與實際訪問的是馬存保機構變量我的第二行「爲「循環。我不知道該怎麼做。基本上,我需要通過pidm輸出,因爲這是每個返回人員的唯一標識符。我知道jstl會更容易,但是這個人不想這樣做。
太棒了!這工作。我正在查看API文檔,但我大多忽略了這種方法。謝謝! – jordaniac89
@ jordaniac89:很高興幫助:) – mikeho