62,614
社区成员
发帖
与我相关
我的任务
分享
package run;
import org.jdom.*;
import org.jdom.output.*;
import java.io.*;
public class WriteXML{
public void BuildXML() throws Exception {
Element root,student,number,name,age,firstname,lastname;
root = new Element("student-info"); //生成根元素:student-info
student = new Element("student"); //生成元素:student(number,name,age)
number = new Element("number");
name = new Element("name");
age = new Element("age");
firstname = new Element("firstname");
lastname = new Element("lastname");
Document doc = new Document(root); //将根元素植入文档doc中
root.setText("root_name");
number.setText("001");
firstname.setText("yu");
lastname.setText("haiming");
age.setText("24");
student.addContent(number);
student.addContent(name);
student.addContent(age);
name.addContent(firstname);
name.addContent(lastname);
root.addContent(student);
root.setAttribute("width", "100%");
root.setAttribute("height", "860px");
root.setAttribute("bgcolor", "red");
root.setAttribute("name", "student");
Format format = Format.getCompactFormat();
format.setEncoding("gb2312"); //设置xml文件的字符为gb2312
format.setIndent(" "); //设置xml文件的缩进为4个空格
XMLOutputter XMLOut = new XMLOutputter(format);//元素后换行一层元素缩四格
XMLOut.output(doc, new FileOutputStream("studentinfo.xml"));
}
public static void main(String[] args) throws Exception {
WriteXML w = new WriteXML();
System.out.println("Now we build an XML document .....");
w.BuildXML();
System.out.println("finished!");
}
}
package run;
import org.jdom.*;
import org.jdom.input.*;
import java.io.*;
import java.util.*;;
public class jdomTest {
public void jdomtest() {
String textXml = null;
textXml = "<note width="+"\"100%\""+">";
textXml = textXml +
"<to><to1>a111</to1><to2>a222</to2><to3>a333</to3></to><from>bbb</from><heading>ccc</heading><body>ddd</body>";
textXml = textXml + "</note>";
System.out.println(textXml);
SAXBuilder builder = new SAXBuilder();
Document doc = null;
Reader in= new StringReader(textXml);
try {
doc = builder.build(in);
Element root = doc.getRootElement();
System.out.println(root.getAttributeValue("width"));
List ls = root.getChildren();//注意此处取出的是root节点下面的一层的Element集合
for (Iterator iter = ls.iterator(); iter.hasNext(); ) {
Element el = (Element) iter.next();
if(el.getName().equalsIgnoreCase("to")){
List ls2 = el.getChildren();
for(Iterator iter2 = ls2.iterator(); iter2.hasNext();){
Element e2 = (Element)iter2.next();
if(e2.getTextTrim().equals("to1")){
e2.setText("I have bean changed in this element.");
System.out.println(e2.getName());
continue;
}
System.out.println(e2.getName());
}
continue;
}
System.out.println(el.getText());
}
}
catch (IOException ex) {
ex.printStackTrace();
}
catch (JDOMException ex) {
ex.printStackTrace();
}
}
}