JAVA DOM XML 示例代码

来源:互联网 发布:新闻数据字幕图ae模板 编辑:程序博客网 时间:2024/05/19 02:44
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.Node;import org.w3c.dom.NodeList;import org.w3c.dom.Text;public class TestT { public void create(Document doc) { // 创建元素 Element eCate = doc.createElement("catalog"); Element eProduct = doc.createElement("products"); Element eProd_id = doc.createElement("prod_id"); Element eProd_name = doc.createElement("prod_name"); Element ePrice = doc.createElement("price"); // 创建文本节点 Text tProd_id = doc.createTextNode("t1"); Text tProd_name = doc.createTextNode("手机"); Text tPrice = doc.createTextNode("1000元"); // 附加 eProd_id.appendChild(tProd_id); eProd_name.appendChild(tProd_name); ePrice.appendChild(tPrice); eProduct.appendChild(eProd_id); eProduct.appendChild(eProd_name); eProduct.appendChild(ePrice); eCate.appendChild(eProduct); doc.appendChild(eCate); } // 添加 public void add(Document doc) { Element eCate = doc.createElement("catalog"); Element eProduct = doc.createElement("products"); Element eProd_id = doc.createElement("prod_id"); Element eProd_name = doc.createElement("prod_name"); Element ePrice = doc.createElement("price"); // 创建文本节点 Text tProd_id = doc.createTextNode("t2"); Text tProd_name = doc.createTextNode("脚机"); Text tPrice = doc.createTextNode("500"); // 附加 eProd_id.appendChild(tProd_id); eProd_name.appendChild(tProd_name); ePrice.appendChild(tPrice); eProduct.appendChild(eProd_id); eProduct.appendChild(eProd_name); eProduct.appendChild(ePrice); eCate.appendChild(eProduct); Element root = doc.getDocumentElement(); root.appendChild(eCate); } // 生成xml文件 public void cheng(Document doc) { TransformerFactory tran = TransformerFactory.newInstance(); try { Transformer transformer = tran.newTransformer(); DOMSource soucre = new DOMSource(doc); StreamResult res = new StreamResult("cate.xml"); transformer.setOutputProperty("encoding", "gb2312"); transformer.transform(soucre, res); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } // 修改 public void modify(Document doc) { NodeList list = doc.getElementsByTagName("products"); for (int i = 0; i < list.getLength(); i++) { Element e = (Element) list.item(i); Node nName = e.getElementsByTagName("prod_name").item(0); nName.getFirstChild().setNodeValue("中国"); } } // 替换 public void replace(Document doc) { NodeList list = doc.getElementsByTagName("products"); for (int i = 0; i < list.getLength(); i++) { Element e = (Element) list.item(i); Node nId = e.getElementsByTagName("prod_id").item(0); Node nName = e.getElementsByTagName("prod_name").item(0); Node ele = (Node) doc.createElement("repalce"); Text rep = doc.createTextNode("替换"); ele.appendChild(rep); e.replaceChild(ele, nName); } } // 删除 public void delete(Document doc) { NodeList list = doc.getElementsByTagName("products"); for (int i = 0; i < list.getLength(); i++) { Element e = (Element) list.item(i); Node nId = e.getElementsByTagName("prod_id").item(0); e.removeChild(nId); } } public static void main(String[] args) { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.newDocument(); TestT t = new TestT(); t.create(doc); t.add(doc); t.modify(doc); t.replace(doc); t.delete(doc); t.cheng(doc); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}


原创粉丝点击