DOM解析XML文件

来源:互联网 发布:倩女幽魂抢红包软件 编辑:程序博客网 时间:2024/05/09 13:54

和上一篇一样,使用同样的数据点击打开链接


DOM将XML中的元素如下分解


要想取数据,可以参考如下方法;


具体实现代码如下:

public class DomPersonService {public static List<Person> getPersons(InputStream inputStream) throws Exception{DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();Document document = builder.parse(inputStream);//获取node列表NodeList personNodeList = document.getDocumentElement().getElementsByTagName("person");List<Person> list = new ArrayList<Person>();for (int i = 0; i < personNodeList.getLength(); i++) {Element personElement = (Element) personNodeList.item(i);int id = Integer.valueOf(((Element) personElement).getAttribute("id"));Person person = new Person();person.setId(id);//获取id//getAttribute可以获取属性(id),getChildNodes可以获取文本NodeList childNodes = ((Node) personElement).getChildNodes();for (int j = 0; j <  childNodes.getLength(); j++) {if(childNodes.item(j).getNodeType() == Node.ELEMENT_NODE){if("name".equals(childNodes.item(j).getNodeName())){String name = childNodes.item(j).getFirstChild().getNodeValue();person.setName(name);}else if("age".equals(childNodes.item(j).getNodeName())){String age = childNodes.item(j).getFirstChild().getNodeValue();person.setAge(new Short(age));Log.i("TAG", person.toString());}}}list.add(person);}inputStream.close();return list;}}
最后总结果还是


0 0
原创粉丝点击