import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import cn.itcast.domain.Person;
/**
* 采用DOM完成XML内容的解析
*/
public class DOMPersonService {

public static List<Person> getPersons(InputStream inputStream) throws Exception{
List<Person> persons = new ArrayList<Person>();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(inputStream);
Element element = document.getDocumentElement();
NodeList perosnNodes = element.getElementsByTagName("person");
for(int i=0 ; i < perosnNodes.getLength() ; i++){
Element personElement = (Element) perosnNodes.item(i);
Person person = new Person();
int id = new Integer(personElement.getAttribute("id"));
person.setId(id);
NodeList childNodes = personElement.getChildNodes();
for(int y = 0 ; y < childNodes.getLength() ; y++){
if(childNodes.item(y).getNodeType()==Node.ELEMENT_NODE){
if("name".equals(childNodes.item(y).getNodeName())){
String name = childNodes.item(y).getFirstChild().getNodeValue();
person.setName(name);
}else if("age".equals(childNodes.item(y).getNodeName())){
String age = childNodes.item(y).getFirstChild().getNodeValue();
person.setAge(new Short(age));
}
}
}
persons.add(person);
}
return persons;
}
}

更多相关文章

  1. 屏幕切换,保存内容
  2. TextView属性android:ellipsize实现跑马灯效果,TextView内容过长
  3. textview中自动换行显示文本内容
  4. Android 获取未读短信同时,一并获取该短信内容的方法
  5. Android EditText属性介绍及监听内容变化
  6. Android防止内容溢出
  7. android文本内容自动朗读实例教程
  8. Android 4.0 Launcher2源码分析——Laucher界面元素分解(主布局文

随机推荐

  1. Android关于桌面快捷方式工具类!
  2. 3DGallery
  3. Surface Flinger boot flow in Android(
  4. android之PendingIntent使用
  5. android 拖拽图片&拖动浮动按钮到处跑
  6. 不让EditTextView获取焦点
  7. android分页查询获取系统联系人信息
  8. ch07 Android(安卓)日期与时间对话框
  9. Android(安卓)弧形进度条
  10. Android(安卓)getSystemService