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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 常用节点类型
    查看全部
  • DOM方式解析XML步骤
    查看全部
  • XML解析步骤
    查看全部
  • 解析XMl文件: 1.先创建DocumentBuilderFactory对象。 DocumentBuilderFactory dbf = new DocumentBuilderFactory(); 2.用上一个对象创建DocumentBuilder对象。 DocumentBuilder db = dbf.newDocumentBuilder(); 3.再用上一个对象的parse(URI)方法创建Document对象。 Document doc = db.parse("XXX.XML"); 4.获取所有节点集合 doc.getElementsByTagName("标签名");
    查看全部
  • JAVA解析XML文件(4种)DOM、SAX、DOM4J、JDOM DOM SAX官方提供 不需要额外的jar包
    查看全部
  • 声明:<?xml version="1.0" encoding="UTF-8"?> xml 节点名称区分大小写
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2018-03-22

  • JDOM 下节点和子节点都有 属性和子节点 这两种东西
    查看全部
  • 四种解析XML文件PK 基础方法:DOM SAX解析;DOM与平台无关的官方解析方式,SAX是Java提供给我们的基于事件驱动的解析方式 扩展方法:JDOM DOM4J解析;这俩种方法是基于Java平台扩展的,所以他只能拥有Java解析XML -----------------------------------------加载过程----------------------------------------- DOM解析,是直接将XML内容一次性加载到内存中,形成一个DOM树,如果XML很大则会对内存有很高的要求 SAX解析,是基于事件的解析,他是逐条解析XML文件,例如:SAX解析到XML的申明时就会触发startDocument()这个方法;走到每个标签时,触发startElement()方法;走到每个节点的结束时,触发endElement()方法;走到根节点的结尾时,触发endDocument()方法 -----------------------------------选择DOM还是SAX进行XML解析---------------------------------- DOM: 优点:1、形成树结构,直观好理解,代码更易编写 2、解析过程中树结构保留在内存中,方便修改 缺点:1、当XML文件较大时,对内存耗费较大,容易影响解析性能并造成内存溢出 SAX: 优点:采用事件驱动模式,对内存耗费较小 适用于只需处理xml中数据时 缺点:不易编码 很难同时访问同一个xml中多处不同数据 ---------------------------------------JDOM与DOM和DOM4J--------------------------------------- JDOM: 仅使用具体类而不使用接口 API大量使用了Collection类 DOM4J: JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能 DOM4J使用接口和抽象基本类方法,是一个优秀的Java XML API 具有性能优异、灵活性好、功能强大和极端易用使用的特点 是一个开放源代码的软件
    查看全部
  • ---------------------------------------DOM4J解析节点属性--------------------------------------- //创建SAXReader的对象reader SAXReader reader = new SAXReader(); //通过reader的read加载person.xml文件 Document document = reader.read(new File("person.xml")); //通过document对象获取根节点persons Element persons = document.getRootElement(); //通过element对象的elementIterator方法获取迭代器 Iterator it = persons.getIterator(); //遍历迭代器,获取根节点中的信息(persons)适用于我们不知道节点的名称时 while(it.hasNext()){ Element person = (Element)it.next(); //获取person的属性名和属性值 List<Attribute> personAttrs = person.attributes(); //由于是List类型所以我们使用for each()循环进行遍历 for(Attribute attr : personAttrs){ System.out.println("节点名:" + attr.getName() + "--节点值:" + attr.getValue()); } } ---------------------------注意代码中import时导入的是dom4j下的--------------------------------
    查看全部
  • ---------------------------------关于JDOM使用过程中JAR包的引用--------------------------------- 我们的项目中直接配置build path指定的jar包如果是在我们PC的硬盘某个路径,那么在日后导出项目时候,项目中是没有jar包的。 我们只能在我们的项目下建立一个lib文件夹将所需jar包复制进去,再进行build path的配置即可。
    查看全部
  • ---------------------------------在JDOM中存储Person对象--------------------------------- Person personEntity = new Person(); if(attrName.equals("id")){ personEntity.setId(attrValue); } if(child.getName().equals("name")){ personEntity.setName(child.getValue()); }else if(child.getName().equals("sex")){ personEntity.setSex(child.getValue()); }else if{ ... } private static ArrayList<Person> arrayList = new ArrayList(); arrayList.add(personEntity); //将personEntity设置为空,让垃圾回收机制回收 personEntity = null;
    查看全部
  • -----------------------------------JDOM 解析时乱码的处理----------------------------------- 解析XML文件出现乱码时,第一时间应该查看XML的编码属性,如果编码有问题,则自行修改后再进行解析; 如果修改XML的编码不好使,则只能在不改变XML文件的基础下,修改我们的JDOM代码 //创建输入流,将XML文件加载到输入流中 InputStream in = new FileInputStream("src/person.xml"); //使用包装流InputStreamReader进行读取编码的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");
    查看全部
  • ------------------------------应用JDOM解析子节点属性------------------------------ //对person节点的子节点的节点名及节点值遍历 List<Element> personChillds = person.getChildren(); for(Element child : personChilds){ System.out.println("节点名:" + child.getName() + "---节点值:" + child.getValue()); }
    查看全部
  • ------------------------------应用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.print("属性名:" + ); } System.out.println("======结束解析第" + personList.indexOf(person)+1 + "个人======"); }
    查看全部
  • DOM4J是第三方提供的解析XML方法,需要jdom-2.0.5.jar包(最新) 步骤: 1、创建SAXBuilder对象 SAXBuilder saxBuilder = new SAXBuilder(); 2、创建一个输入流将XML加载到输入流中 InputStream in = new FileInputStream("src/person.xml"); 3、将xml加载到文件输入输入流中 Document document = saxBuilder.build(in); 4、根据Document对象获取xml中的根节点 Element rootEle = document.getRootElement(); 5、获取根节点下的子节点的list集合 List<Element> personList = rootEle.getChildren();
    查看全部

举报

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

微信扫码,参与3人拼团

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

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