
package test; import java.io.IOException; 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 org.w3c.dom.Text; import org.xml.sax.SAXException; public class XmlOprate { document doc; documentBuilderFactory factory = documentBuilderFactory.newInstance(); documentBuilder builder; NodeList imags; String path; public NodeList getImags() { return imags; } public void setImags(NodeList imags) { this.imags = imags; } public XmlOprate(String path) { super(); this.path = path; System.out.println(System.getProperty("user.dir")); } public void readXml(){ try { builder = factory.newdocumentBuilder(); document doc=builder.parse(path); doc.normalize(); NodeList imags =doc.getElementsByTagName("imags"); this.setImags(imags); for (int i=0;i2、xml部分
images/ad-01.jpg 胡志明市 http://torchrelay.beijing2008.cn/cn/journey/hochiminhcity/ images/ad-02.jpg 香港2 http://torchrelay.beijing2008.cn/cn/journey/hongkong/
3、总结:
看对xml操作的三个方法(读、写、删),他们的初始化语句都相同:
builder = factory.newdocumentBuilder(); document doc=builder.parse(path); doc.normalize();
开始我打算把这部分相同的部分拿出来写在构造方法中,但是在测试中发现,这样总是会报空指针的错误(搞了我好久);
而只是把
builder = factory.newdocumentBuilder();
放到builder的初始化语句中的时候,读没问题,但是当写或者删的时候也会报错;
所以就写成现在这样了,感觉有点乱乱的,但也没想到什么好的方法,就先贴到这里了,以后可能会用得着
更多java对XML文件的解析、节点的增加、删除操作总结相关文章请关注PHP中文网!