-- 作者:司空哉哉
-- 发布时间:2/25/2007 10:51:00 AM
-- 很难的xml问题,谢谢大家!
下面的代码生成后是这个样子的! <?xml version="1.0" encoding="UTF-8"?> <a> <calDate>1</calDate> <Course> <CaseNo>1</CaseNo> <CouseState>1</CouseState> <CaseNo>2</CaseNo> <CouseState>2</CouseState> <CaseNo>3</CaseNo> <CouseState>3</CouseState> <CaseNo>4</CaseNo> <CouseState>4</CouseState> </Course> </a> 可是我们现在的要求是 <calDate>1</calDate> <Course> <CaseNo>1</CaseNo> <CouseState>1</CouseState> <CaseNo>2</CaseNo> <CouseState>2</CouseState> <CaseNo>3</CaseNo> <CouseState>3</CouseState> <CaseNo>4</CaseNo> <CouseState>4</CouseState> </Course> 就是说得去掉 <?xml version="1.0" encoding="UTF-8"?>和<a></a>这两部分,大家帮帮忙看看我的应该如何去改! import org.w3c.dom.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.*; public class writexml { private Document document; private String filename; public writexml(String name) throws ParserConfigurationException { filename = name; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.newDocument(); } public void toWrite(int day, String Case1, String Case2, String Case3, String Case4, String CouseNo1, String CouseNo2, String CouseNo3, String CouseNo4) { Element root = document.createElement("a"); document.appendChild(root); Element newDay = document.createElement("calDate"); newDay.appendChild(document.createTextNode("1")); root .appendChild(newDay); Element Course = document.createElement("Course"); root.appendChild(Course); Element case1 = document.createElement("CaseNo"); case1.appendChild(document.createTextNode(Case1)); Course.appendChild(case1); Element couseNo1 = document.createElement("CouseState"); couseNo1.appendChild(document.createTextNode(CouseNo1)); Course.appendChild(couseNo1); Element case2 = document.createElement("CaseNo"); case2.appendChild(document.createTextNode(Case2)); Course.appendChild(case2); Element couseNo2 = document.createElement("CouseState"); couseNo2.appendChild(document.createTextNode(CouseNo2)); Course.appendChild(couseNo2); Element case3 = document.createElement("CaseNo"); case3.appendChild(document.createTextNode(Case3)); Course.appendChild(case3); Element couseNo3 = document.createElement("CouseState"); couseNo3.appendChild(document.createTextNode(CouseNo3)); Course.appendChild(couseNo3); Element case4 = document.createElement("CaseNo"); case4.appendChild(document.createTextNode(Case4)); Course.appendChild(case4); Element couseNo4 = document.createElement("CouseState"); couseNo4.appendChild(document.createTextNode(CouseNo4)); Course.appendChild(couseNo4); } public void toSave() { try { TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); DOMSource source = new DOMSource(document); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); PrintWriter pw = new PrintWriter(new FileOutputStream(filename)); StreamResult result = new StreamResult(pw); transformer.transform(source, result); } catch (TransformerException mye) { mye.printStackTrace(); } catch (IOException exp) { exp.printStackTrace(); } } public static void main(String args[]) { try { writexml myxml = new writexml("c:\\cal04s.xml"); int day = 31; myxml.toWrite(day, "1", "2", "3", "4", "1", "2", "3", "4"); myxml.toSave(); System.out.print("Your writing is successful."); } catch (ParserConfigurationException exp) { exp.printStackTrace(); System.out.print("Your writing is failed."); } } }
|