FileInputStream fi = null;
FileOutputStream fo = null;String path = request.getParameter("path"); //得到页面传过来的参数(正确)

fi = new FileInputStream(path);

SAXBuilder sb = new SAXBuilder();      //构造解析器 Document doc = sb.build(new FileInputStream(path)); 
//从文件构造一个Document,并指定要操作的XMLElement root = doc.getRootElement();  //得到根元素
java.util.List adresss = root.getChildren();  //得到根元素所有子元素的集合

String adress = adressaddActionForm.getAdress();   //得到页面传过来的地址

String username = "maomao"; 

Text newtext;  //没什么意义 分割线类似的意思Element newadress= new Element("adress");         //构建跟节点

Element newname= new Element("name");    //构建第1个叶节点
newname.setText(username);                       //得到上面的USERNAME
newadress.setContent(newname);                  //保存进跟节点

Element newmail= new Element("mail");       //构建第2个叶节点
newmail.setText(adress); //使用传过来的地址 
newadress.setContent(newmail); //保存进跟节点
adresss.add(newadress);  //添加进跟节点
//开始写入XML文件
 Format   format   =   Format.getPrettyFormat();   
format.setEncoding("GBK");   
format.setIndent("\t");   
//format.setNewlines(true);   //setnewlines()应该我没有 所以我注释掉了
 XMLOutputter   xmlOutputter   =   new   XMLOutputter(format);   
  
 fo=new FileOutputStream(path);
 xmlOutputter.output(doc,fo);fi.close();
fo.close();
这是XML文件格式
<?xml version="1.0" encoding="GBK"?>
<adressList>
<adress>
<name>maomao</name>
<mail>[email protected]</mail>
</adress>
</adressList>以上是源代码 出现了2个问题 请回答的朋友标好回答的标记
1。比如我从另一个页面得到一个adress为[email protected]
那么我生成的XML文件应该是
<?xml version="1.0" encoding="GBK"?>
<adressList>
<adress>
<name>maomao</name>
<mail>[email protected]</mail>
</adress>
<adress>
<name>maomao</name>
<mail>[email protected]</mail>
</adress>
</adressList>
问题出来了 我得到的却是
<?xml version="1.0" encoding="GBK"?>
<adressList>
<adress>
<name>maomao</name>
<mail>[email protected]</mail>
</adress>
<adress>
<mail>[email protected]</mail>
</adress>
</adressList>
为什么我的<mail>[email protected]</mail>覆盖了<name>maomao</name>
是否是 format.setNewlines(true);  这句代码的影响
如果是 请告诉我要导入什么包 才能使format 有setNewlines 这个方法
或者 请告诉我JDOM0.9的包在哪儿下载 请给具体的地址
如不是请告诉怎么解决
2。我生成下面的XML后 要在JSP页面显示 XML如下
<?xml version="1.0" encoding="GBK"?>
<adressList>
<adress>
<name>maomao</name>
<mail>[email protected]</mail>
</adress>
<adress>
<name>haha</name>
<mail>[email protected]</mail>
</adress>
<adress>
<name>haha</name>
<mail>[email protected]</mail>
</adress>
</adressList>我的显示代码bean如下
private String adress;
public String getAdress() { return adress;}
public void setAdress(String adress) { this.adress =adress; }Vector xmlVector = null;
FileInputStream fi = null;
try{
fi = new FileInputStream(path);
xmlVector = new Vector();
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi); Element root = doc.getRootElement(); //得到根元素
List adress1 = root.getChildren(); //得到根元素所有子元素的集合Element adress =null;
XmlBean xml =null;for(int i=0;i<adress1.size();i++){
xml = new XmlBean();
adress = (Element)adress1.get(i); //得到第一个地址的元素xml.setAdress(adress.getChild("mail").getText()); setAderss是ActionForm里的xmlVector.add(xml);我只是想把 <name>的子元素为haha 的
<mail>的子元素 放进xmlVector里面请问我该怎么写。判断
以后问题请回答的朋友直接写源代码。谢谢
如测试后正确 我就给分