public class ReadXML {
public static void main(String[] args) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//利用解析器工厂获取解析对象
DocumentBuilder builder = dbf.newDocumentBuilder();
//DocumentBuilder 的 Packer()方法接受一个XML文档名作为输入参数,返回一个Document对象
//Document对象代表一个XML文档的树模型
// Document doc = builder.parse("languages.xml");
Document document = builder.parse(new File("languages.xml"));
//Document对象的getElementsByTagName()方法,可以得到一个NodeList对象,他是XML文档中的标签元素列表
//可以使用NodeListUI想的item()方法来得到列表中的每一个Node对象
Element root = document.getDocumentElement();
System.out.println("cat="+root.getAttribute("cat"));
NodeList list = root.getElementsByTagName("lan");
for (int i = 0; i < list.getLength(); i++) {
Element lan = (Element) list.item(i);
System.out.println("---------------");
System.out.println("id="+lan.getAttribute("id"));
NodeList clist = lan.getChildNodes();
for (int j = 0; j < clist.getLength(); j++) {
Node c = clist.item(j);
if (c instanceof Element) {
System.out.println(c.getNodeName()+"="+c.getTextContent());
}
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//利用解析器工厂获取解析对象
DocumentBuilder builder = dbf.newDocumentBuilder();
//DocumentBuilder 的 Packer()方法接受一个XML文档名作为输入参数,返回一个Document对象
//Document对象代表一个XML文档的树模型
// Document doc = builder.parse("languages.xml");
Document document = builder.parse(new File("languages.xml"));
//Document对象的getElementsByTagName()方法,可以得到一个NodeList对象,他是XML文档中的标签元素列表
//可以使用NodeListUI想的item()方法来得到列表中的每一个Node对象
Element root = document.getDocumentElement();
System.out.println("cat="+root.getAttribute("cat"));
NodeList list = root.getElementsByTagName("lan");
for (int i = 0; i < list.getLength(); i++) {
Element lan = (Element) list.item(i);
System.out.println("---------------");
System.out.println("id="+lan.getAttribute("id"));
NodeList clist = lan.getChildNodes();
for (int j = 0; j < clist.getLength(); j++) {
Node c = clist.item(j);
if (c instanceof Element) {
System.out.println(c.getNodeName()+"="+c.getTextContent());
}
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}