简介 目录 评价 推荐
  • 慕粉0810224052 2017-05-24
    为何会抛出java.lang.ClassCastException异常

    把上面import引入的

    org.jdom.Attribute;

    删除,然后重新引入dom4j

    2回答·1653浏览
  • 慕圣0830664 2017-05-09
    那个可以下载JDOM 和 DOM4J 的API?
    已采纳 知否bot丶 的回答

    百度啊。。。。。

    http://img.mukewang.com/5911a6880001ad0509260546.jpg

    http://img.mukewang.com/5911a6890001d48a08980867.jpg


    2回答·1741浏览
  • 慕粉4407418 2017-04-13
    如果XML文件中的不只是的树结构有多少层该怎么办?

    或许可以尝试写一个递归来不断获取子节点,直到获取最下面的叶子节点

    1回答·1297浏览
  • 把心刘 2017-02-18
    为什么booklist.add(bokEntity)中的add报错

    这个是Java awt组件里面的包,你要导入的是你自己建立的Book类对象所在的包。

    2回答·1625浏览
  • 大LOVE辉 2016-11-10
    getName() xml的方法
    已采纳 qq_执念_30 的回答

    这两个getName()是不同的,第一个是Attribute类的getName()方法,第二个是Element类的getName()方法
    如果你想输出book节点名,可以用book.getName()输出

    1回答·986浏览
  • 霸道的樱木 2016-09-09
    迭代器的疑问

    在这里的效果是一样的,在实际应用的时候可以根据自己的需求选择这两种方式

    3回答·686浏览
  • 玄鉴 2016-07-25
    谁有作业的答案?
    已采纳 tlojy 的回答
    package com.test;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    import org.dom4j.Attribute;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    public class DOM4JTest {
    	
    	private static List<Book> books = new ArrayList<Book>();
    
    	public static void main(String[] args) {
    		// 解析books.xml
    		SAXReader reader = new SAXReader();
    		try {
    			Document document = reader.read(new File("src/res/books.xml"));
    			Element bookStore = document.getRootElement();
    			Iterator it = bookStore.elementIterator();
    			while(it.hasNext()){
    				Book bookEntity = new Book();
    				Element book = (Element)it.next();
    				List<Attribute> bookAttrs = book.attributes();
    				for (Attribute attr : bookAttrs) {
    					System.out.println(attr.getName()+"->"+attr.getValue());
    					if(attr.getName().equals("id")){
    						bookEntity.setId(attr.getValue());
    					}
    					
    				}
    				
    				Iterator itt = book.elementIterator();
    				while(itt.hasNext()){
    					Element bookChild = (Element)itt.next();
    					System.out.println(bookChild.getName()+"->"+bookChild.getStringValue());
    					switch (bookChild.getName()) {
    					case "name":
    						bookEntity.setName(bookChild.getStringValue());
    						break;
    					case "author":
    						bookEntity.setAuthor(bookChild.getStringValue());
    						break;
    					case "year":
    						bookEntity.setYear(bookChild.getStringValue());
    						break;
    					case "price":
    						bookEntity.setPrice(bookChild.getStringValue());
    						break;
    					case "language":
    						bookEntity.setLanguage(bookChild.getStringValue());
    						break;
    
    					default:
    						break;
    					}
    				}
    				
    				books.add(bookEntity);
    				bookEntity=null;
    				System.out.println("--------------------------------");
    			}
    			for (Book book : books) {
    				System.out.println(book.toString());
    				System.out.println("--------------------------------");
    			}
    			
    		} catch (DocumentException e) {
    			e.printStackTrace();
    		}
    
    	}
    
    }


    3回答·2145浏览
  • 精慕门7312623 2016-05-15
    DOM4J是不是不能用getChildren

    list = document.selectNodes("/bookstore/book")

    可以使用这样的方式获取子节点,比如这种就是获得所有的bookstore节点下的所以book节点

    2回答·1488浏览
  • 慕粉_sunshine 2016-04-28
    往book对象set值时报NullPointerException,怎么处理呢?
    已采纳 Snow_Winter 的回答

    空指针异常

    1回答·1737浏览
  • K_F_C 2016-02-07
    获取book节点的字节点内容

    没区别,不同方法而已,殊途同归

    1回答·1019浏览
  • qq_白衣卿相_3 2015-12-26
    请帮忙解答

    上面通过book.attributes();获得的是属性值,在本节也就是id,而它的子节点下面是没有任何属性值的,所以肯定得到的是空的

    1回答·756浏览
数据加载中...
开始学习 免费