当前位置: 代码迷 >> J2EE >> 关于java读取xml,该如何处理
  详细解决方案

关于java读取xml,该如何处理

热度:288   发布时间:2016-04-22 02:37:21.0
关于java读取xml
XML code
<?xml version="1.0" encoding="UTF-8"?><users>    <user>        <id>1</id>        <username>admin</username>        <userpass>123456</userpass>    </user>    <user>        <id>2</id>        <username>zhang</username>        <userpass>123456</userpass>    </user></users>


自己写的xml

然后想在登录页面登录时候查询xml,看xml中有没有这个user对象,有就返回user对象

怎么弄啊。。。。
给点思路,网上搜的查询代码貌似都不行

------解决方案--------------------
ArrayList<User> list = new ArrayList<User>();

List<Element> idList = doc.selectNodes("//users/user/id");
List<Element> nameList = doc.selectNodes("//users/user/username");
List<Element> passwordList = doc.selectNodes("//users/user/userpass");

int count = idList.size();
for (int i = 0; i < count; i++) {
Element id = idList.get(i);
Element name = nameList.get(i);
Element password = passwordList.get(i);

User user = new User (id.getText());
user .setName(name.getText());
user .setPassword(password.getText());

list.add(user);
}

然后你再把list循环一遍,就知道有没有你的user了。。。。
------解决方案--------------------
Java code
import java.io.*;import java.util.*;import org.w3c.dom.*;import javax.xml.parsers.*;public class D {    public static void main(String arge[]) {        long lasting = System.currentTimeMillis();        try {            File f = new File("D://test.xml");            DocumentBuilderFactory factory = DocumentBuilderFactory                    .newInstance();            DocumentBuilder builder = factory.newDocumentBuilder();            Document doc = builder.parse(f);            NodeList nl = doc.getElementsByTagName("user");            for (int i = 0; i < nl.getLength(); i++) {                System.out.print("ID:" + doc.getElementsByTagName("id").item(i).getFirstChild().getNodeValue());                 System.out.println("username:" + doc.getElementsByTagName("username").item(i).getFirstChild().getNodeValue());                 System.out.println("userpass:" + doc.getElementsByTagName("userpass").item(i).getFirstChild().getNodeValue());                                                             }        } catch (Exception e) {            e.printStackTrace();        }    }}
  相关解决方案