Как считать значения атрибутов в XML-файле?
public class ParserXML {
public static String parseDOM(String fileName) {
File file = new File(fileName);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Document doc = null;
try {
doc = dbf.newDocumentBuilder().parse(file);
} catch (Exception e) {
System.out.println("Open prasing error:" + e.toString());
return null;
}
Node rootNode = doc.getFirstChild();
NodeList destlist = doc.getElementsByTagName("dest");
NodeList prefix = doc.getElementsByTagName("prefix");
System.out.println("rootNoode:"+ rootNode.getNodeName());
NodeList dest = rootNode.getChildNodes();
for (int i=0;i< dest.getLength();i++){
if(dest.item(i).getNodeType()!=Node.ELEMENT_NODE){
continue;
}
//System.out.println("node dest:" + dest.item(i).getAttributes());
for (int l = 0; l < destlist.getLength(); l++) {
Element element = (Element) destlist.item(l);
System.out.println(element.getAttribute("title"));
}
}
System.out.println(prefix.);
return "";
}
}
Подскажите как считать значения атрибутов из xml. Вот xml:
<dest title="Оператор X Абхазия">
<prefix values="5123,515,57">
<costout cost="32.37"/>
</prefix>
</dest>
Ответы (1 шт):
Автор решения: Станислав Михайлов
→ Ссылка
Я конечно сделал так, но уверен что есть более грамотное и простое решение
NodeList destlist = doc.getElementsByTagName("dest");
NodeList prefix = doc.getElementsByTagName("prefix");
NodeList costout = doc.getElementsByTagName("costout");
for (int i = 0; i < destlist.getLength(); i++) {
Element element = (Element) destlist.item(i);
System.out.println(element.getAttribute("title"));
}
for (int i= 0; i < prefix.getLength(); i++) {
Element element = (Element) prefix.item(i);
System.out.println(element.getAttribute("values"));
}
for (int i= 0; i < costout.getLength(); i++) {
Element element = (Element) costout.item(i);
System.out.println(element.getAttribute("cost"));
}