怎么把XML数据 拼接成字符串。例如xml里的数据时id=12 name=张三。例子程序就跟好了。

解决方案 »

  1.   

    建议你看看dom4j,它是解析和操作xml数据结构的~!
      

  2.   

    再给你个链接吧~!也许对你有用~!http://blog.csdn.net/niuyongjie/archive/2006/09/12/1210961.aspx
      

  3.   

    各种解析xml的方法都支持解析标签以及里面的内容的,解析出来你想干嘛干嘛了。
      

  4.   

    xml 的解析常用的有两种方式,用dom解析或者用sax解析,可以用程序获取比较简单
      

  5.   

    楼主可以参考一下,嘿嘿,偷懒了。。
    http://topic.csdn.net/u/20081202/23/67e0cc8b-2922-4f56-94e4-05811090c5a6.html
      

  6.   

    dom4j
    jdom
    拿到数据了,想干吗干吗。
      

  7.   

    package com.svse.dao;import java.util.ArrayList;import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerConfigurationException;
    import javax.xml.transform.TransformerException;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;import com.sun.xml.internal.bind.unmarshaller.DOMScanner;
    import com.svse.entity.OrderBean;public class OrderDao {
    Document doc;
    /**
     * 指定操作的Xml文件
     */
    public OrderDao(){
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    try {
    DocumentBuilder db = dbf.newDocumentBuilder();
    doc = db.parse(this.getClass().getResourceAsStream("/orderlist.xml"));
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    /**
     * 添加订单
     * @param OrderBean 实体bean
     */
    public void addOrder(OrderBean order){
    //创建底层节点
    Element orderdate= doc.createElement("orderdate");
    Element orderamount =doc.createElement("orderamount");
    Element ordermoney = doc.createElement("ordermoney");
    Element customer = doc.createElement("customer");
    //给节点赋值
    orderdate.appendChild(doc.createTextNode(order.getOrderdate()));
    orderamount.appendChild(doc.createTextNode(order.getOrderamount()));
    ordermoney.appendChild(doc.createTextNode(order.getOrdermoney()));
    customer.appendChild(doc.createTextNode(order.getCustomer()));
    //设置底层节点属性
    customer.setAttribute("custno",order.getCustno());
    //创建以上节点的父节点
    Element node = doc.createElement("order");
    //把底层节点放入其父节点
    node.setAttribute("orderno", order.getOrderno());
    node.appendChild(orderdate);
    node.appendChild(orderamount);
    node.appendChild(ordermoney);
    node.appendChild(customer);
    //得到根节点
    Element root = doc.getDocumentElement();
    //把以上节点放入根节点
    root.appendChild(node);
    this.save();
    }
    /**
     * 得到一个实体bean
     * @param orderNo 订单号
     * @return OrderBean 实体bean
     */
    public OrderBean getOne(String orderNo){
    OrderBean bean = null; 
    //得到所有order节点集合
    NodeList orders = doc.getElementsByTagName("order");
    for(int i = 0;i<orders.getLength();i++){//便利集合
    Element order = (Element) orders.item(i);
    if(order.getAttributeNode("orderno").getValue().equals(orderNo)){//判断是否存在属性等于 orderNo 的订单
    bean = new OrderBean();
    bean.setOrderno(order.getAttributeNode("orderno").getValue());
    bean.setOrderdate(order.getElementsByTagName("orderdate").item(0).getFirstChild().getTextContent());
    bean.setOrderamount(order.getElementsByTagName("orderamount").item(0).getFirstChild().getTextContent());
    bean.setOrdermoney(order.getElementsByTagName("ordermoney").item(0).getFirstChild().getTextContent());
    bean.setCustomer(order.getElementsByTagName("customer").item(0).getFirstChild().getTextContent());
    bean.setCustno(((Element)order.getElementsByTagName("customer").item(0)).getAttributeNode("custno").getValue());
    break;//找到后跳出循环
    }
    }
    return bean;
    }
    /**
     * 查询所有订单
     * @return ArrayList<OrderBean> 订单集合
     */
    public ArrayList<OrderBean> getAll(){
    ArrayList<OrderBean> list = new ArrayList<OrderBean>();
    //得到所有order节点集合
    NodeList orders = doc.getElementsByTagName("order");
    for(int i = 0;i < orders.getLength();i++){
    Element order = (Element) orders.item(i);
    //创建实体bean
    OrderBean bean = new OrderBean();
    bean.setOrderno(order.getAttributeNode("orderno").getValue());
    bean.setOrderdate(order.getElementsByTagName("orderdate").item(0).getFirstChild().getTextContent());
    bean.setOrderamount(order.getElementsByTagName("orderamount").item(0).getFirstChild().getTextContent());
    bean.setOrdermoney(order.getElementsByTagName("ordermoney").item(0).getFirstChild().getTextContent());
    bean.setCustomer(order.getElementsByTagName("customer").item(0).getFirstChild().getTextContent());
    bean.setCustno(((Element)order.getElementsByTagName("customer").item(0)).getAttributeNode("custno").getValue());
    list.add(bean);
    }
    return  list;
    }
    /**
     * 修改订单
     * @param orderBean 实体bean
     * @param orderNo 订单号
     */
    public void alter(OrderBean orderBean,String orderNo){
    //得到所有order节点集合
    NodeList orders = doc.getElementsByTagName("order");
    Element order = null; 
    for(int i = 0;i<orders.getLength();i++){//遍历集合
    order = (Element) orders.item(i);
    if(order.getAttributeNode("orderno").getValue().equals(orderNo)){//根据节点属性判断是否是想要的节点
    order.getElementsByTagName("orderamount").item(0).getFirstChild().setTextContent(orderBean.getOrderamount());
    order.getElementsByTagName("ordermoney").item(0).getFirstChild().setTextContent(orderBean.getOrdermoney());
    break;//如果是想要的节点跳出循环
    }
    }
    this.save();
    }
    //把内存中的数据保存在文件中
    public void save(){
    TransformerFactory fac = TransformerFactory.newInstance();
    try {
    Transformer trans = fac.newTransformer();
    System.out.println(this.getClass().getResource("/orderlist.xml").getPath());
    trans.transform(new DOMSource(doc), new StreamResult(this.getClass().getResource("/orderlist.xml").getPath()));
    } catch (TransformerConfigurationException e) {
    e.printStackTrace();
    } catch (TransformerException e) {
    e.printStackTrace();
    }

    }
    }