Java利用JDom解析和传递XML格式数据
2013-01-18 09:22
435 查看
Java利用JDom解析和传递XML格式数据
Java利用JDom来解析处理XML数据格式:需要的包jdom-1.1.2.jar1 将数据转换成XML格式的数据进行传递
2 将字符串中的XML解析出进行处理
原始XML:
本文出自 “在云端的追梦” 博客,请务必保留此出处http://computerdragon.blog.51cto.com/6235984/1121518
Java利用JDom来解析处理XML数据格式:需要的包jdom-1.1.2.jar1 将数据转换成XML格式的数据进行传递
Element rootList, firstList, secondItem, thirdItem; //根元素标签名 rootList = new Element("root"); //根元素标签内的属性名与值 rootList.setAttribute("project", pname); //生成Doc文档 Document Doc = new Document(rootList); //获取文档中的根标签 rootList = Doc.getRootElement(); for (int i = 0; i < judges.size(); i++) { //生成新的元素 firstList = new Element("flayout"); firstList.setAttribute("percent", "percent"); //加入根级元素中 rootList.addContent(firstList); } XMLOutputter XMLOut = new XMLOutputter(); //将doc文档转换为字符串型的XML格式 String xmlinfo = XMLOut.outputString(Doc); //将开头的去掉 xmlinfo = xmlinfo.replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", ""); //返回已经封装好的XML数据 return xmlinfo;
2 将字符串中的XML解析出进行处理
//创建一个新的字符串 StringReader read = new StringReader(stadXML); // 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入 InputSource source = new InputSource(read); // 创建一个新的SAXBuilder SAXBuilder sb = new SAXBuilder(); String projectName; List<Judgestandard> standIndex = new ArrayList<Judgestandard>(); try { // 通过输入源构造一个Document Document doc = sb.build(source); // 取的根元素 Element root = doc.getRootElement(); projectName = root.getAttributeValue("project"); // 得到根元素所有子元素的集合 Element et = null; List nodes = root.getChildren(); // 第一级指标 for (int i = 0; i < nodes.size(); i++) { et = (Element) nodes.get(i);// 循环依次得到子元素 Judgestandard judge = new Judgestandard(); //获取该元素中属性的值 String fid = et.getAttributeValue("mainid"); //获取元素的孩子数目 List fsize = et.getChildren(); // 第二级指标 for (int j = 0; j < fsize.size(); j++) { et = (Element) fsize.get(j);// 循环依次得到子元素 et.getAttributeValue("stdid") }Java处理XML文档
原始XML:
<?xml version="1.0" encoding="UTF-8"?> <HD> <disk name="C"> <capacity>8G</capacity> <files>1580</files> </disk> <disk name="D"> <capacity>10G</capacity> <files>3000</files> </disk> </HD>Java处理代码:
import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; /** * <?xml version="1.0" encoding="UTF-8"?> *<HD> * <disk name="C"> * <capacity>8G</capacity> * <files>1580</files> * </disk> * <disk name="D"> * <capacity>10G</capacity> * <files>3000</files> * </disk> *</HD> * @author Administrator * */ //利用JDom来解析XML文件 public class JDomParseXMLFile { public static void main(String[] args) throws Exception{ SAXBuilder sb=new SAXBuilder(); //下面两种构建document的方式,将xml和该解析类都放在默认包下 Document doc=sb.build(JDomParseXMLFile.class.getClassLoader().getResourceAsStream("test.xml")); //Document doc=sb.build("src/test.xml");//构造文档对象 Document doc=sb.build("src/test.xml");//构造文档对象 Element root=doc.getRootElement();//获取根元素,即文档中的<HD> List list=root.getChildren("disk");//取名字为disk的所有元素 for(int i=0;i<list.size();i++) { Element element=(Element)list.get(i);//依此遍历所有的disk节点 String name=element.getAttributeValue("name"); String capacity=element.getChildText("capacity");//取disk子元素capacity的内容 String files=element.getChildText("files"); System.out.println("name:"+name); System.out.println("capacity"+capacity); System.out.println("files"+files); } } }
本文出自 “在云端的追梦” 博客,请务必保留此出处http://computerdragon.blog.51cto.com/6235984/1121518
相关文章推荐
- Java利用JDom解析和传递XML格式数据
- 实例讲述在Java程序利用JDom解析和传递XML格式数据
- java jdom解析xml格式字符串
- java利用url解析网页内容并模拟手动form提交数据
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- JAVA JDOM解析XML 带CDATA数据
- Java中如何利用gson解析数据
- 利用java调用百度API接口,解析返回的json数据,突破百度API接口调用结果的限制
- JAVA JDOM解析XML 带CDATA数据
- java解析xml格式数据
- JAVA调用返回XML格式数据的WebService,并通过XPath解析XML的应用
- 利用Java代码把oracle的blob字段内容解析成XML格式的字符串
- 在Java中利用Jackson解析JSON数据
- 利用Java代码把oracle的blob字段内容解析成XML格式的字符串
- Java学习之路——利用JDOM对xml文档进行解析等操作实例
- ndk开发中利用java与c之间互相传递数据
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- Java解析XML格式数据的方法详解
- 利用百度车联网提供的天气查询接口用python查询天气信息以及安卓(Java)利用gson解析数据