首先写一个xml的实体类
然后进行解析
public class DOMDemo01 {
public static List<Book> readXML(Context context) throws Exception {
// 1.创建DOM解析工厂类对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 2.创建解析器对象
DocumentBuilder builder = factory.newDocumentBuilder();
// 3.解析xml文件,在内存当中形成dom树
InputStream is = context.getAssets().open("book.xml");
Document document = builder.parse(is);
// 4.获得根元素
Element rootElement = document.getDocumentElement();
// 5.获取根元素当中指定标签名称的子节点
NodeList nodeList = rootElement.getElementsByTagName("Book");
List<Book>bookList = new ArrayList<>();
for (int i = 0; i < nodeList.getLength(); i++) {
Element bookElement = (Element) nodeList.item(i);
Element idElement = (Element) bookElement.getElementsByTagName("Id").item(0);
String id = idElement.getTextContent();
Element nameElement = (Element) bookElement.getElementsByTagName("Name").item(0);
String name = nameElement.getTextContent();
Element priceElement = (Element) bookElement.getElementsByTagName("Price").item(0);
String priceStr = priceElement.getTextContent();
double price = Double.parseDouble(priceStr);
Book book = new Book(id,name,price);
bookList.add(book);
}
return bookList;
}
}