驴霸天下
2017-01-19 19:06
public void createXML(){
DocumentBuilder db =getDocumentBuilder();
Document document=db.newDocument();
document.setXmlStandalone(true);
Element bookstore=document.createElement("bookStore");
//向bookstore根节点中添加子节点book
Element book=document.createElement("book");
Element book2=document.createElement("book");
Element name =document.createElement("name");
name.setTextContent("小王子");
book.appendChild(name);
Element author=document.createElement("author");
author.setTextContent("乔治马丁");
book.appendChild(author);
Element year=document.createElement("year");
author.setTextContent("hhhh");
book.appendChild(year);
Element language=document.createElement("language");
author.setTextContent("English");
book.appendChild(language);
//向book节点添加属性
book.setAttribute("id", "1");
book2.setAttribute("id", "2");
//将book节点添加到bookstore根节点中
bookstore.appendChild(book);
bookstore.appendChild(book2);
//将bookstore节点(已经包含了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(new File("bookstore1.xml")));
} catch (TransformerConfigurationException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
catch (TransformerException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}为什么我生成的XML文件不对 上边代码写的不对吗 试了好几遍都是下面这样的结果
<?xml version="1.0" encoding="UTF-8"?><bookStore>
<book id="1">
<name>小王子</name>
<author>English</author>
<year/>
<language/>
</book>
<book id="2"/>
</bookStore>
21,26行的 author.setTextContent(""); 是直接复制粘贴的吧,auther 没改过来
Java眼中的XML 文件写入
55791 学习 · 138 问题
相似问题