怎么把XML数据 拼接成字符串。例如xml里的数据时id=12 name=张三。例子程序就跟好了。
解决方案 »
- 一段验证你电脑有没有H片的javascript代码
- 高分求一解决方案,急!麻烦路过的帮帮忙
- struts+spring+hibernate。能批量执行sql语句(DML)吗?
- 自己结合网上资料写的一个java图像灰度化程序,编译可以通过,但运行不行,请大家帮忙修改一下!谢谢!
- 在北京,哪的软件开发培训好,请先辈指教,在线哭等!!!(偶工科大专,35了,没有多少编程经验)
- java问题
- jar包中的MANIFEST.MF文件中的Classpath的指定有什么作用呢,和一个java工程的.classpath文件中的classpathentry有什么不同呢谢谢,在线
- 关于容器管理事务,回滚的一个问题???????????
- 求救:请问有无了解EJB和PowerJ的高手!
- struts框架的区别
- 闲置书出售--半价
- 以webwork的action方式打开页面看不到SiteMesh修饰效果
http://topic.csdn.net/u/20081202/23/67e0cc8b-2922-4f56-94e4-05811090c5a6.html
jdom
拿到数据了,想干吗干吗。
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();
}
}
}