android学习笔记18:Dom和Dom4j解析XML
来源:互联网 发布:淘宝联盟怎么自己买 编辑:程序博客网 时间:2024/05/21 01:32
1. Dom解析XML:
处理dom解析的核心类
public class DomService
{
public DomService()
{
// TODO Auto-generated constructor stub
}
public List getBooks(InputStream inputStream) throws Exception
{
List list = new ArrayList();
// 创建一个document解析的工厂
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 获取具体的dom解析器
DocumentBuilder builder = factory.newDocumentBuilder();
// 解析xml文件的输入流并返回document对象
Document document = builder.parse(inputStream);
// 获取文档根元素节点
Element root = document.getDocumentElement();
//获取指定名称的nodelist
NodeList bookNodes = root.getElementsByTagName_r("book");
for (int i = 0; i < bookNodes.getLength(); i++)
{
Element bookeElement = (Element) bookNodes.item(i);
Book book = new Book();
book.setId(Integer.parseInt(bookeElement.getAttribute("id")));
NodeList childNodes = bookeElement.getChildNodes();
for (int j = 0; j < childNodes.getLength(); j++)
{
if (childNodes.item(j).getNodeType() == Node.ELEMENT_NODE)
{
if ("name".equals(childNodes.item(j).getNodeName()))
{
book.setName(childNodes.item(j).getFirstChild()
.getNodeValue());
}
else if ("price".equals(childNodes.item(j).getNodeName()))
{