求助!!XML基础!我考不过完蛋了!!
求助啊!!考试题目,过不过我死了!!我不会XML啊,哪个高手帮帮我!!加我QQ114483971,真心求助啊!!!
————————————————————————————————————————————————————————
题目:一、将下面的XML文档,按如下格式输出。(30分)
<?xml version="1.0" encoding="gb2312"?>
<newCD>
<CD>
<title>红蔷薇</title>
<歌手>萧亚轩<歌手>
<song>一个人的精彩</song>
<song>蔷薇</song>
<song>夜</song>
</CD>
<cd>
<title>真爱无敌</title>
<歌手>许茹芸<歌手>
<song>真爱无敌</song>
<song>埚牛</song>
<song>恒星</song>
</cd>
</newCD>
二、按下列格式尾XML文档建立相应的XLST文档。
<?>xml version=”1.0” encoding=”gb2312”?>
<CD信息>
<CD>
<代号>GO11105</代号>
<专辑名>关不住</专辑名>
<歌手>伊能静</歌手>
<发行日期>2001.7</发行日期>
<定价>17.00</定价>
</CD>
<CD>
<代号>Q031103</代号>
<专辑名>Suddenly,this Summer</专辑名>
<歌手>梁咏琪</歌手>
<发行日期>2001.6<发行日期>
<定价 dt:dt=”number”>19.50</定价>
</CD>
<CD>
<代号>s023205</代号>
<专辑名>Very Best of Yanni</专辑名>
<歌手>Yanni</歌手>
<发行日期>2001.4<发行日期>
<定价 dt:dt=”number”>18.00</定价>
</CD>
<CD>
<代号>K081101</代号>
<专辑名>Love Songs</专辑名>
<歌手>Michael Bolton</歌手>
<发行日期>2001.3<发行日期>
<定价 dt:dt=”number”>111.00</定价>
</CD>
<CD信息>
代号专辑名歌手发行日期定价
G011105关不住伊能静2001.717.00
Q031103Suddenly,this Summer梁泳琪2001.619.50
S023205Very Best of YanniYanni2001.418.00
K081101Love SongsMichael Bolton2001.3111.00
三、编写程序将下列数据库表转换为XML文档;
IDNAMEAGEHABPHONE
2006234张威23电脑,音乐3456433
2006235刘模21艺术5677644
2006236王民22艺术3567677
对应XML文档为:
<?xml version="1.0" encoding="UTF—8"?>
<students>
<student>
<学号>2006234〈/学号〉
<姓名>张威</姓名>
<年龄>23</年龄>
<爱好>电脑,音乐</爱好>
<电话>3456433</电话>
</student>
<student>
<学号>2006235〈/学号〉
<姓名>刘模</姓名>
<年龄>21</年龄>
<爱好>艺术</爱好>
<电话>5677644</电话>
</student>
<student>
<学号>2006236〈/学号〉
<姓名>王民</姓名>
<年龄>22</年龄>
<爱好>艺术</爱好>
<电话>3567677</电话>
</student>
</students>
[解决办法]
写一下这个吧
三、编写程序将下列数据库表转换为XML文档;
import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.log4j.Logger;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;public class TestXML { private static final Logger log = Logger.getLogger(TestXML.class.getName()); public TestXML(){ super(); } /** * 构造制定格式的xml * @param list * @return */ public Document createXML(List list){ Document document = DocumentHelper.createDocument(); Element students = document.addElement("students");//根节点 students for(int i =0 ;i<list.size() ;i++){ StudentsInforBean bean = new StudentsInforBean(); bean = (StudentsInforBean)list.get(i); Element student = students.addElement("student"); //子节点 student student.addElement("学号").setText(deNull(bean.getId())); student.addElement("姓名").setText(deNull(bean.getName())); student.addElement("年龄").setText(String.valueOf(bean.getAge())); student.addElement("爱好").setText(deNull(bean.getHab())); student.addElement("电话").setText(deNull(bean.getPhone())); } return document; } /** * 生成xml文件 * @param document * @param filename xml文件的完整路径,包括后缀名 * @throws Exception */ public void writeXML(Document document ,String filename) throws Exception{ try { OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF—8");//这个地方是按你题目要求生成的xml编码格式,生成的xml文件用IE打开会有问题,如果换成gb2312的编码就不会有问题 XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)),format); writer.write(document); writer.close(); } catch (IOException e) { log.error(e.getMessage()); throw new Exception("writeXML Exception:"+e.getMessage()); } } /** * 过滤为null的值 * @param str * @return */ private String deNull(String str) { if (str == null) { return ""; } return str; } public static void main(String args[]) throws Exception{ List list = new ArrayList(); StudentsInforBean bean1 = new StudentsInforBean(); bean1.setId("2006234"); bean1.setName("张威"); bean1.setAge(23); bean1.setHab("电脑,音乐"); bean1.setPhone("3456433"); StudentsInforBean bean2 = new StudentsInforBean(); bean2.setId("2006235"); bean2.setName("刘模"); bean2.setAge(21); bean2.setHab("艺术"); bean2.setPhone("5677644"); StudentsInforBean bean3 = new StudentsInforBean(); bean3.setId("2006236"); bean3.setName("王民"); bean3.setAge(22); bean3.setHab("艺术"); bean3.setPhone("3567677"); list.add(bean1); list.add(bean2); list.add(bean3); //TODO 以上数据的获取,你可以用自己的方法把数据从你对应的数据库表获取 TestXML testXML = new TestXML(); Document document = testXML.createXML(list); testXML.writeXML(document, "d://test.xml"); }}//数据beanpublic class StudentsInforBean implements java.io.Serializable{ /** * */ private static final long serialVersionUID = 1L; private String id; private String name; private int age; private String hab; private String phone; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getHab() { return hab; } public void setHab(String hab) { this.hab = hab; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }