xml 文件的读写

本文介绍如何利用Dom4j库实现XML文件的生成与解析。通过具体代码示例展示了创建XML文档的方法,并详细解释了如何从XML文件中提取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xml <wbr>文件的读写
这个是用dom4j 的外部包来解释的,所以需要引用外部的包
直接看代码
List list = userService.finaALL();
if (list != null) {
Document doc = DocumentHelper.createDocument();
//生成根元素
Element element = doc.addElement("list");
int i = 0;
for (User user : list) {
Element userXML = element.addElement("record");
Element username = userXML.addElement("username");
username.setText(user.getUsername());
Element grade = userXML.addElement("grade");
grade.setText(user.getGrade().toString());
Element order = userXML.addElement("order");
order.setText(Integer.valueOf(i++).toString());
Element type = userXML.addElement("type");
type.setText(Const.JAVA);

}
StringWriter strWtr = new StringWriter();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter xmlWriter = new XMLWriter(strWtr, format);
try {
xmlWriter.write(doc);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
response.getWriter().write(strWtr.toString());
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////
上面是生成xml 文件的代码
以下是解释XML文件的代码
public String[][] getAll() {
String [][] array = new String[100][4]; 
String s="";
try {
URL url = new URL(Const.URL_LOCAL+Const.FIND_ALL); //求求的接口
BufferedReader br = new BufferedReader(new InputStreamReader(
                url.openStream()));
System.out.println(br.toString());
        String line = null;
        while (null != (line = br.readLine()))
        {
            System.out.println(line);
            s+=line;

        }
        } catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(s);
SAXReader reader = new SAXReader();
        StringReader sr = new StringReader(s);
        InputSource is = new InputSource(sr);
        try {
            Document document = reader.read(is);
            Element root = document.getRootElement();
            List servletList = root.elements();
            System.out.println(servletList.size());
//             List userList = servletList.get(0).elements("User");
            for(int i=0;i
            Element element = servletList.get(i);
            List childList = element.elements();
            for(int j=0;j
            Element e = childList.get(j);
            array[i][j] = e.getText();
            System.out.println(e.getName()+"="+e.getText());
            }
        }
             
        }catch(DocumentException e){
        e.printStackTrace();
        }
return array;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值