小弟是初学者 希望好心人指教
这个是我写的 附上代码跟结果
代码:
public class CreateXmlByDOM {
//DOM方式的创建xml
public static void main(String[] args) {
try {
//创建一个xml的生成的工厂
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//创建xml的构造器
DocumentBuilder db = dbf.newDocumentBuilder();//输出对象
//创建xml文件对象模型
Document doc=db.newDocument();//等同于整个xml文件
//创建元素
//创建根元素
Element root=doc.createElement("Students");//创建此种标记<></>
//创建第一层子元素
Element stu=doc.createElement("Students");
stu.setAttribute("id", "090112");
Element name=doc.createElement("name");
//创建文本节点(封装的数据),xml只能创建文本的节点
Text text=doc.createTextNode("张三");
//装配
name.appendChild(text);
stu.appendChild(name);
root.appendChild(stu);
doc.appendChild(root);//程序执行到此处,在内存中创建了DOM树
//创建一个输出器
TransformerFactory tf=TransformerFactory.newInstance();
Transformer tff=tf.newTransformer();
//设定xml输出样式
tff.setOutputProperty(OutputKeys.ENCODING,"GB2312" );
tff.setParameter(OutputKeys.INDENT, "yes");
//创建输出流DOM树----文件
  DOMSource source=new DOMSource(doc);
  PrintWriter out=new PrintWriter(new FileOutputStream("C:\\test.xml"));
StreamResult result=new StreamResult(out);
tff.transform(source, result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//输出对象
}
}
结果:
  <?xml version="1.0" encoding="GB2312" standalone="no" ?> 
- <Students>
-  <Students id="090112">
    <name>张三</name> 
   </Students>
  </Students>
这个是一层的
老师留的作业时要求用递归写成多个层次的
希望高手指教!!

解决方案 »

  1.   

    就是显示的时候是多层的
    - <Students>
    -  <Students id="090112">
         <name>张三</name> 
    -    <Students>
    -      <Students id="090112">
           <name>张三</name>  
         </Students>
       </Students>
      </Students>
    这种的
      

  2.   

    这里的递归其实就是先要认清xml结构中的相似体,父相似体和子相似体之间的最大区别就是所在层数不同,就是在什么地点创建
      

  3.   

    如果要递归,方法体就别写在main函数里,重新定义一个,必要的抽出去。多几个判断...