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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 导入jar包
    查看全部
  • 四种解析方式DOM、SAX、DOM4J、JDOM
    查看全部
  • 根节点 --》子节点
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2016-12-24

  • 1.初次邂逅xml 2.在Java程序中如何获取xml文件的内容 3.在Java程序中如何生成xml文件
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2016-12-24

  • 节点类型
    查看全部
  • 在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");
    查看全部
  • 获取节点名、值:getNodeName() getNodeValue() getTextContent() 获取子节点:getChildNodes() 返回 NodeList 获取属性节点:getAttributes() 返回 NamedNodeMap JDOM 解析 获取节点名、值:getName() getValue() 获取子节点:getChildren() 返回 List<Element> 获取属性节点:getAttributes() 返回 List<Attribute>
    查看全部
  • //通过增强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.print("属性名:" + ); } System.out.println("======结束解析第" + personList.indexOf(person)+1 + "个人======"); }
    查看全部
  • 1.创建一个SAXBuilder对象 SAXBuilder saxbuilder=newSAXBuilder(); 2.创建输入流,将xml文件加载到输入流中(抛出FileNotFoundException) Inputstream in=new FileInputstream("xxx.xml"); 3.通过SAXBuilder的Build方法将输入流加载到saxb中获取dom对象 Document doc = saxbuilder.build(in); 4.通过document对象获取xml文件的根结点 Element rootElement =doc.getRootElement(); 5.获取根结点下的子节点的List集合
    查看全部
  • 解析xml文件 - 在Java程序中读取xml文件的过程 解析目的 - 获取节点名,节点值,属性名,属性值 Dom和SAX解析 - java官方提供的解析方式,不需要额外jar包 Dom4j和Jdom需要导入额外的jar包
    查看全部
  • SAX解析XML的速度比DOM的块, SAX的解析XML的解析器,需要重写startElement()开始解析的方法and endElemaent()方法 结束解析的方法and characters()方法 重写charaters()方法时,String(byte[] bytes,int offset,int length)的构造方法进行数组的传递 再去除解析时多余空格 if(!value.trim().equals("")){ System.out.println(value); } 使用 SAX 解析 XML 文件的节点名和节点间文本 startElement方法——String qName(第三个参数):节点名 startElement方法——Attributes attributes(第四个参数):节点名的属性操作 characters方法——char[] ch(第一个参数):xml整个文本内容,所以需截取想要的内容 如图代码+以下代码 public void endElement(String uri, String localName, String qName) throws SAXException { //调用DefaultHandler类的endElement方法 super.endElement(uri, localName, qName); //判断是否针对一本书已经遍历结束 if (qName.equals("book")) { System.out.println("======================结束遍历某一本书的内容================="); } } public void characters(char[] ch, int start, int length) throws SAXException { // TODO Auto-generated method stub super.characters(ch, start, length); value = new String(ch, start, length); if (!value.trim().equals("")) { System.out.println("节点值是:" + value); } }
    查看全部
  • //开始解析book元素的属性 if(qName.equals("book")) { //已知booke元素下属性的名称,根据属性名称获取属性值 String value = attributes.getValue("id"); System.out.println("book的属性值是:"+value); //不知道book元素下属性的名称以及个数,如何获取属性名及属性值 int num = attributes.getLength(); for(int i = 0; i < num; i++) { System.out.print("book元素的第"+(i+1)+"个属性是:"+attributes.getQName(i)); System.out.println("---属性值是:"+attributes.getValue(i)); } }
    查看全部
  • 截图~
    查看全部
  • 解析步骤
    查看全部

举报

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

微信扫码,参与3人拼团

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

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