: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=nucleotide&id=224589801구문 분석 XML 파일 나는 다음과 같은 URL을 구문 분석 할
나는 다음과 같은 방법을 해낸 결과 :
public void parseXml2(String URL) {
DOMParser parser = new DOMParser();
try {
parser.parse(new InputSource(new URL(URL).openStream()));
Document doc = parser.getDocument();
NodeList nodeList = doc.getElementsByTagName("Item");
for (int i = 0; i < nodeList.getLength(); i++) {
Node n = nodeList.item(i);
Node actualNode = n.getFirstChild();
if (actualNode != null) {
System.out.println(actualNode.getNodeValue());
}
}
} catch (SAXException ex) {
Logger.getLogger(TaxMapperXml.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(TaxMapperXml.class.getName()).log(Level.SEVERE, null, ex);
}
}
나는 값을 사용할 수 있습니다이 방법을 항목 노드 중 하나만 사용할 수는 있지만 그 속성은 사용할 수 없습니다. NamedNodeMap을 사용하여 getAttribute()를 시도했지만 여전히 유용하지 않았습니다.
왜 실제 값을 얻으려면
n.getFirstChild().getNodeValue();
해야합니까?n.getNodeValue()
은 null 만 반환합니까? 반대로 직관적이지 않은가? 분명히 내 경우에는 노드에 하위 노드가 없다.DOM을 사용하여 XML 파일을 구문 분석하는 좀 더 강력하고 널리 수용되는 방법이 있습니까? 내 파일은거야 대부분의 큰 15 ~ 20 개 라인하지, 그래서 SAX는 필요하지 않습니다 (또는 무엇입니까?)
DOM 주위에서 작업을 수행하기 위해 간단한 도우미 클래스를 작성할 수 있습니다. http://stackoverflow.com/a/8346867/851432 – Jomoos