为了账号安全,请及时绑定邮箱和手机立即绑定

Java眼中的XML---文件读取

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • DOM4J
    查看全部
  • SAX的优缺点
    查看全部
  • DOM优缺点(适用于xml小于10MB)
    查看全部
  • 四种解析方式
    查看全部
  • 导入jar包的两种方式: 1.通过右键项目,选择build Path下的Add External Archives导入系统任意路径下的jar包。但是这种方式并没有将jar包真正导入项目中,一旦迁移,则会丢失 2.通过右键项目,新建lib文件夹,直接将jar包拷贝到lib文件夹下,然后再通过build Path将jar包导入进来
    查看全部
  • public static void main(String[] args) { // 进行对books.xml文件的JDOM解析 // 准备工作 //1.创建一个SAXBuilder的对象 SAXBuilder saxBuilder = new SAXBuilder(); InputStream in; try { //2.创建一个输入流,将xml文件加载到输入流 in = new FileInputStream("src/res/books.xml"); //3.通过saxBuilder的build方法,将输入流加载到saxBuilder Document document = saxBuilder.build(in); //4.通过document对象获取xml文件的根节点 Element rootElement = document.getRootElement(); //5.获取根节点下的子节点的List集合 List<Element> bookList = rootElement.getChildren(); } catch (FileNotFoundException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (JDOMException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); }
    查看全部
  • 解析XML文档时,想要保存与其结构形式相同的结构内容时可以通过定义全局变量book与bookList来完成,将XML文件的相关属性保存到book对象中。 每读取完一本book之后将其存入bookList中,然后清空book进行下一本书的存储,最后从bookList中查看所有读取到的book的内容。 注:通过startElement和endElement方法来标志进行节点本身属性的开始与结束读取。 通过startDocument和endDocument方法来标志对XML文件的开始与结束读取。 通过characters方法来进行对节点本身内容的读取。
    查看全部
  • 导入jar包的两种方式: 1.通过右键项目,选择build Path下的Add External Archives导入系统任意路径下的jar包。但是这种方式并没有将jar包真正导入项目中,一旦迁移,则会丢失 2.通过右键项目,新建lib文件夹,直接将jar包拷贝到lib文件夹下,然后再通过build Path将jar包导入进来
    查看全部
  • 在JDOM中存储对象 1.创建一个新的book类并将其实例化 Book bookEntity = new Book(); 2.添加节点属性值到book if(attrName.equals("id")){ personEntity.setId(attrValue); } 3.添加子节点属性值到book if (child.getName().equals("name")) { bookEntity.setName(child.getValue()); } else if (child.getName().equals("author")) { bookEntity.setAuthor(child.getValue()); } else if (child.getName().equals("year")) { bookEntity.setYear(child.getValue()); } else if (child.getName().equals("price")) { bookEntity.setPrice(child.getValue()); } else if (child.getName().equals("language")) { bookEntity.setLanguage(child.getValue()); }
    查看全部
  • JDOM解析乱码处理 1.修改xml第一行的encoding属性 2.在代码中处理,应用IO流知识 //创建输入流,将XML文件加载到输入流中 InputStream in = new FileInputStream("src/book.xml"); //使用包装流InputStreamReader进行读取编码的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");
    查看全部
  • DOM 解析 获取节点名、值:getNodeName() getNodeValue() getTextContent() 获取子节点:getChildNodes() 返回 NodeList 获取属性节点:getAttributes() 返回 NamedNodeMap JDOM 解析 获取节点名、值:getName() getValue() 获取子节点:getChildren() 返回 List<Element> 获取属性节点:getAttributes() 返回 List<Attribute>
    查看全部
  • ---------------------------应用JDOM解析子节点属性------------------------------ //通过增强for循环进行遍历子节点集合 for(Element person : personList){ System.out.print("======开始解析第" + (personList.indexOf(person)+1) + "个人======"); //解析person的属性 List<Attribute> attrList = person.getAttributes();//适用于我们不知道里面有多少属性 person.getAttributeValue("id");//适用于我们知道子节点属性的名字直接获取其属性值 //遍历属性 for(Attribute attr : attrList){ //获取属性名 String attrName = attr.getName(); //获取属性值 String attrValue = attr.getValue(); } System.out.println("======结束解析第" + personList.indexOf(person)+1 + "个人======"); }
    查看全部
  • DOM 开始解析前的准备工作 (需要导入jdom包) public static void main(String[] args) { // 进行对books.xml文件的JDOM解析 // 准备工作 // 1.创建一个SAXBuilder的对象 SAXBuilder saxBuilder = new SAXBuilder(); InputStream in; try { // 2.创建一个输入流,将xml文件加载到输入流中 in = new FileInputStream("src/res/books.xml");//放在包下可以直接用“/”来分隔 // 3.通过saxBuilder的build方法,将输入流加载到saxBuilder中 Document document=saxBuilder.build(in); // 4.通过document对象获取xml文件的根节点 Element rootElement = document.getRootElement(); // 5.获取根节点下的子节点的List集合 List<Element> bookList = rootElement.getChildren();
    查看全部
  • 解析xml元素(重写startElement()方法) 1. 调用DefaultHanlder 的startElement()方法 super.startElement(uri,localName,qName,attributes); 2. 开始解析book元素属性 if(qname.equals("book")){ //已知节点的属性名时 String value = attributes.getValue("id"); System.out.print("属性值:"+value); //未知节点的属性名时,获取属性名和属性值 for(int i=0;i<attributes.getLength();i++){ System.out.print(attributes.getQname(i)+attributes.getValue(i)); } }
    查看全部
  • 通过SAX解析XML文件步骤: 1:获取一个SAXParserFactory实例 SAXParserFactory factory = SAXParserFactory.newInstance(); 2:通过factory的方法获取SAXParser对象 SAXParser parser = factory.newSAXParser(); 3:创建一个类继承DefaultHandler 并重写其中的一些方法进行业务处理,创建该类对象handler 用父类的startElement方法遍历开始标签,用endElement方法遍历结束标签,startDocument方法标志解析开始,endDocument方法标志解析结束 4:用SAXParser对象的parse方法接收XML文件:选择传入String uri 和 Handler对象的parse方法 praser.parse("books.xml",handler);
    查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java 的中级课程,需要各位小伙伴们熟悉 Java 面向对象的思想,并能熟练掌握 Java I/O 的相关知识。对如何将内容写入 XML 文件感兴趣的小伙伴们,可以进入《Java 眼中的 XML --- 文件写入》一探究竟
老师告诉你能学到什么?
1、XML 的基本概念 2、XML 在实际项目开发中的的用途和优点 3、如何通过 Java 解析 XML

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!