Xml解析
|
1.文件的后缀名必须是.xml文件。 2.必须有一个头文件。 <?xmlversion="1.0"encoding="UTF-8"?> 3.必须且只能有一个根节点。 |
问题:如何利用Java程序读取XML文件中的数据?
答案:解析xml
JDOM解析步骤:
1.创建解析器对象SaxBuilder。
2.获取Document文档对象。
3.获取根节点。
4.获取根节点一下的子节点及值。
JDOM写XML文件:
1.创建根节点。
2.创建子节点,并将子节点添加到根节点。
3.创建一个document文档对象。
4.输出文档对象到一个文件中。(注意格式)
代码实例:
保存数据
public class WriterXML {public static void main(String[] args) {
//创建文档对象
Document doc = DocumentHelper.createDocument();
//调用查询方法,获取查询的数据
List<UserInfo> list = new UserInfoDAO().queryAll();
Element root = doc.addElement("userinfos");
for(UserInfo u : list){
Element user = root.addElement("user");
user.addAttribute("uid",u.getUid()+"");
user.addElement("uname").setText(u.getUname());
user.addElement("upwd").setText(u.getUpwd());
}
OutputFormat fmt = new OutputFormat();
fmt.setIndentSize(4);
fmt.setNewlines(true);
try {
XMLWriter out = new XMLWriter(new FileOutputStream(new File("c:/test.xml")),fmt);
out.write(doc);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("创建成功");
}
}
读取 数据:
public class ReaderXML { public static void main(String[] args) { //1. 创建解析器 SAXReader reader = new SAXReader(); try { //2. 读取文档 Document dom = reader.read(new File("e:/testwriter.xml")); Element root = dom.getRootElement(); List<Element> list = root.elements(); for(Element e : list){ System.out.print(e.attribute("uid").getValue()); System.out.print(e.elementText("uname")+"t"); System.out.print(e.elementText("upwd")+"n"); } } catch (Exception e) { e.printStackTrace(); } } }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!