日期:2014-05-20  浏览次数:20708 次

如何用jdom解析xml
本帖最后由 wangjiebo 于 2012-11-23 23:22:28 编辑 有一个TESTS.xml
<TESTS>
<TEST>
<主题>老鼠 </>
<内容> 有耳朵</>
</TEST>
<TEST>
<主题>猫 </>
<内容> 有腿</>
</TEST>
</TESTS>

我做了2个按钮,从xml中读取的“主题”的值做按钮的LABLE
我想当我点击主题是老鼠的按钮时候弹出一个窗口,里面写着有耳朵。
点击主题是猫的时候出现的内容是有腿
我用的是jdom,请问有什么方法可以主题和内容的值绑定在一起???

------最佳解决方案--------------------
给你一个例子吧.

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

public class ReadXML {
public List GetCompanyList(String XML_url){
   try {
    SAXBuilder sb = new SAXBuilder();
    Document doc = sb.build(XML_url);
    Element root = doc.getRootElement();
    List list = root.getChildren();
    ArrayList<CompanyListForm> formList = new ArrayList<CompanyListForm>();
    Iterator iter = list.iterator();
    while (iter.hasNext()) {
     Element e = (Element) iter.next();
     CompanyListForm companyListForm = new CompanyListForm();
     companyListForm.setCompany_name(e.getChildText("company_name"));
     companyListForm.setCompany_email(e.getChildText("company_email"));
     formList.add(companyListForm);
    }
    Iterator iterator = moList.iterator();
    while (iterator.hasNext()) {
     CompanyListForm companyListForm = (CompanyListForm) iterator.next();
     System.out.println("company_name:" + companyListForm.getCompany_name());
     System.out.println("company_email:" + companyListForm.getCompany_email());
    }
    return formList;
   } catch (Exception e) {
    e.printStackTrace();
   }
   return null;
}

public static void main(String[] args) {
   ReadXML readXml = new ReadXML();
   readXml.GetCompanyList("e:\\company_list.xml");
}
}

------其他解决方案--------------------
查找兄弟节点