慕盖茨907417
2017-12-29 15:18
dom方式如果要生成两本书,然后书的id要不一样,用for循环怎么做,属性值只能说固定值啊
那个book.setAttribute("id", ""+i+1+"");你把i+1括号括起来就可以了!
/**
* 生成xml文件
*/
public void creatXml(){
DocumentBuilder db =getDocumentBuilder();
Document document = db.newDocument();
document.setXmlStandalone(true);
//创建根节点
Element bookstore = document.createElement("bookstore");
for(int i = 0; i < 2; i++){
//创建book子节点
Element book = document.createElement("book");
//创建name子节点
Element name = document.createElement("name");
//将name节点添加为book的子节点
book.appendChild(name);
//向name种添加文本属性
name.setTextContent("小王子");
//向子节点添加属性
book.setAttribute("id", ""+i+1+"");
//向根节点中添加book子节点
bookstore.appendChild(book);
}
//将根节点加入到dom树种
document.appendChild(bookstore);
//创建TransformerFactory对象
TransformerFactory tff = TransformerFactory.newInstance();
try {//创建Transformer对象
Transformer tf =tff.newTransformer();
tf.setOutputProperty(OutputKeys.INDENT, "yes");
tf.transform(new DOMSource(document), new StreamResult("books1.xml"));
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Java眼中的XML 文件写入
55798 学习 · 132 问题
相似问题