用java语言向xml文件里面插入数据,运行没有出错,但是没有反应插入不了。
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<店铺分类>
<服装>
<品牌>利郎</品牌>
<品牌>七匹狼</品牌>
</服装>
<鞋>
<品牌>阿迪达斯</品牌>
<品牌>李宁</品牌>
</鞋>
<手机>
<品牌>诺基亚</品牌>
<品牌>索爱</品牌>
<品牌>摩托罗拉</品牌>
</手机>
<电脑>
<品牌>戴尔</品牌>
<品牌>联想</品牌>
<品牌>神州</品牌>
</电脑>
</店铺分类>
java代码:
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
import org.apache.struts2.ServletActionContext;public void insertnode(String nodename,String name)throws Exception{
DocumentBuilderFactory fc=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=fc.newDocumentBuilder();
Document doc=builder.parse(new File("WebRoot/category.xml"));
Element root=doc.getDocumentElement();
Node node=root.appendChild(doc.createElement("品牌"));
Element e=(Element)node;
e.appendChild(doc.createTextNode(name));
}
public static void main(String[] args){
try{
Category c=new Category();
c.insertnode("鞋", "匹克");
}catch(Exception e){
System.out.print(e);
}
}
}
俺是个初学者,望高手指点!谢谢了
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<店铺分类>
<服装>
<品牌>利郎</品牌>
<品牌>七匹狼</品牌>
</服装>
<鞋>
<品牌>阿迪达斯</品牌>
<品牌>李宁</品牌>
</鞋>
<手机>
<品牌>诺基亚</品牌>
<品牌>索爱</品牌>
<品牌>摩托罗拉</品牌>
</手机>
<电脑>
<品牌>戴尔</品牌>
<品牌>联想</品牌>
<品牌>神州</品牌>
</电脑>
</店铺分类>
java代码:
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
import org.apache.struts2.ServletActionContext;public void insertnode(String nodename,String name)throws Exception{
DocumentBuilderFactory fc=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=fc.newDocumentBuilder();
Document doc=builder.parse(new File("WebRoot/category.xml"));
Element root=doc.getDocumentElement();
Node node=root.appendChild(doc.createElement("品牌"));
Element e=(Element)node;
e.appendChild(doc.createTextNode(name));
}
public static void main(String[] args){
try{
Category c=new Category();
c.insertnode("鞋", "匹克");
}catch(Exception e){
System.out.print(e);
}
}
}
俺是个初学者,望高手指点!谢谢了
Transformer transformer = factory.newTransformer();
Properties formats = new Properties();
formats.setProperty(OutputKeys.INDENT, "yes");
formats.setProperty(OutputKeys.ENCODING, "utf-8");transformer.setOutputProperties(formats);DOMSource ds = new DOMSource(doc);
StreamResult sr = new StreamResult(new FileOutputStream("WebRoot/category.xml"));transformer.transform(ds, sr);
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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.xml.sax.SAXException;
public class Test {
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException, TransformerException {
DocumentBuilderFactory fc=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=fc.newDocumentBuilder();
File file=new File("D:\\test.xml");
InputStream is=new FileInputStream(file);
Document doc=builder.parse(is);
Element root=doc.getDocumentElement();
Element node=doc.createElement("品牌");
root.appendChild(node);
node.setTextContent("耐克");
TransformerFactory tf=TransformerFactory.newInstance();
Transformer t=tf.newTransformer();
Properties props=t.getOutputProperties();
props.setProperty(OutputKeys.ENCODING, "UTF-8");
t.setOutputProperties(props);
DOMSource dom=new DOMSource(doc);
StreamResult sr=new StreamResult(file);
t.transform(dom, sr);
}
}