wangyu070707 2009-06-19 11:53
浏览 197
已采纳

xml保存问题(急)

比如:去超市消费的时候(脱机消费)
当你刷卡的时候,把你卡的信息(剩余金额,消费金额,时间)保存到本地的xml文件里
怎么能让xml里的信息不被上一次消费覆盖呢?







我想消费的时候每次增加card 节点 ,不要把上面得card 覆盖

我现在消费的时候就是把信息保存了,可是同一个人在次消费或者其他人在消费 ,那上次保存的信息被这次覆盖了?怎么解决了
[b]问题补充:[/b]
请说的详细点,有代码说明最好,谢谢咯在这.

  • 写回答

2条回答 默认 最新

  • wanghaolovezlq 2009-06-19 14:21
    关注

    [code="java"]
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.output.*;

    import java.io.*;
    import java.util.List;

    public class XMLTest
    {

    public static void main(String[] args)
    {
    
        String senTime = "3";
        String money = "3";
    
        //文件路径
        String file = "test.xml";
    
        //文件编码
        String encoding = "utf-8";
    
        appendElement(file, senTime, money, encoding );
    }
    
    public static void appendElement(String file, String senTime, String money , String encoding)
    {
        Document doc;
        //利用SAX建立Document
        SAXBuilder bSAX = new SAXBuilder(false);
        try
        {
            //生成document对象
            doc = bSAX.build(new File("test.xml"));
            Element root = doc.getRootElement();
    
            Element card = appendCard(senTime, money);
    
            root.addContent(card);
    
            XMLOutputter outputter = new XMLOutputter(); 
            Format format = Format.getPrettyFormat();
    
            format.setEncoding(encoding);
            outputter.setFormat(format);
    
            OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file),encoding);
            outputter.output(doc, out); 
    
            if(out != null)
                out.close();
    
        } catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (JDOMException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    //增加card元素
    public static Element appendCard(String senTime, String money)
    {
        Element card = new Element("card");
    
        Element senTimeElem = new Element("sen-time");
        senTimeElem.setText(senTime);
    
        Element moneyElem = new Element("money");
        moneyElem.setText(money);
    
        card.addContent(senTimeElem);       
        card.addContent(moneyElem);
    
        return card;
    }
    

    }

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys
  • ¥15 急,ubuntu安装后no caching mode page found等