以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  很难的xml问题,谢谢大家!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=43413)


--  作者:司空哉哉
--  发布时间: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.");
}
}

}



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms