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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 获取属性集合08:42
    查看全部
  • 准备工作09:10
    查看全部
  • JUnit是Java提供的一种进行单元测试的自动化工具。测试方法可以写在任意类中的任意位置。使用JUnit可以没有main()入口进行测试。 DOM4J在灵活性和对复杂xml的支持上都要强于DOM DOM4J的应用范围非常的广,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c组织提供的一个官方解析方式,在一定程度上是有所应用的。 当XML文件比较大的时候,会发现DOM4J比较好用 1.JUnit:Java提供的单元测试;@Test注解;采用JUnit不需要程序入口main方法 2.性能测试结果:几kB的xml文件;建议使用DOM4J解析 DOM-33ms SAX-6ms JDOM-69ms DOM4J-45ms 工程右键build path --Add library--JUnit单元测试 --version:JUnit4 DOM:33,SAX:6 JDOM:69;DOM4J:45 DOM 有可能溢出 多使用DOM4J
    查看全部
  • 基础方法:DOM(平台无关的官方解析方式)、SAX(基于事件驱动的解析方式) 扩展方法:JDOM、DOM4J(在基础的方法上扩展出的,只有在java中能够使用的解析方法) DOM:一次性将整个xml文件加载到内存中,形成DOM树 优点:形成了树结构,直观好理解,代码更容易编写 解析过程中树结构保留在内存中,方便修改 缺点:当xml文件较大时,对内存消耗比较大,容易影响解析性能并造成内存溢出 SAX:逐条语句判断解析 优点:采用事件驱动模式,对内存消耗比较小 适用于只需要处理xml中数据时 缺点:不易编码 很难同时访问同一个xml中的多处不同数据 JDOM:仅使用具体类而不使用接口 API大量使用了Collections类 DOM4J:JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能 DOM4J使用接口和抽象基本类方法,是一个优秀的Java XML API 具有性能优异、灵活性好、功能强大和极端易使用的特点 是一个开放源代码的软件
    查看全部
  • SAX解析xml步骤 1.通过SAXParseFactory的静态newInstance()方法获取SAXParserFactory实例factory 2.通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser 3.创建一个类继承DefaultHandle,重写方发进行业务已处理创建这个类的实例handle
    查看全部
  • JDOM解析文件 导入jar包 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集合
    查看全部
  • Element book = (Element) booklist.item(i); String nodeValue = book.getAttribute("id"); System.out.println("第" + (i + 1) + "本书的属性名:id--属性值是:" + nodeValue); //获取book的子节点和子节点的值 NodeList childList = book.getChildNodes(); System.out.println("第"+ (i + 1) +"本书共有" + childList.getLength() + "个子节点。其中非空白文本节点有:"); //遍历book的子节点 for (int k = 0; k < childList.getLength(); k++) { if (childList.item(k).getNodeType() == Node.ELEMENT_NODE) { System.out.print("第" + (k + 1) + "个子节点的节点名:" + childList.item(k).getNodeName()); //System.out.println(childList.item(i).getFirstChild().getNodeValue()); System.out.println("--节点值:" + childList.item(k).getTextContent()); } }
    查看全部
  • //通过标签book获取book的集合booklist NodeList booklist = document.getElementsByTagName("book"); System.out.println("共有" + booklist.getLength() + "本书。"); //遍历booklist获取每一本书的属性 for (int i = 0; i < booklist.getLength(); i++) { System.out.println("====下面遍历第" + (i + 1) + "本书的内容===="); //通过items(i)获得节点book // Node book = booklist.item(i); //通过node.getAttributes()获得属性集合 // NamedNodeMap attrs = book.getAttributes(); // System.out.println("第" + (i + 1) + "本书共有" + attrs.getLength() + "属性"); // for (int j = 0; j < attrs.getLength(); j++) { // System.out.print("第" + (j + 1) + "本书的属性名:" + attrs.item(j).getNodeName()); // System.out.println("--属性值:" + attrs.item(j).getNodeValue()); // } //前提知道book的属性有且只有一个时可以通过属性名id获得属性值,并且需要将booklist.item(i)强制转换为Element类型 }
    查看全部
  • //创建DocumentBuilderFactory对象 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { //创建DocumentBuilder对象 DocumentBuilder db = dbf.newDocumentBuilder(); //创建Document来获取解析xml Document document = db.parse("books.xml"); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
    查看全部
  • 获取xml文件内容的 有四种解析方式:DOM SAX DOM4J JDOM DOM、SAX :java 官方方式,不需要下载jar包 DOM4J、JDOM :第三方,需要网上下载jar包 DOM使用步骤: 准备工作 1、创建一个DocumentBuilderFactory的对象 DocumentBuilderFactory dbf = DocumnetBuilderFactory.instance(); 2、创建一个DocumentBuilder的对象 DocumentBuilder db = dbf.newDocumentBuilder(); 3、通过DocumentBuilder对象的parse方法加载xml文件到当前项目 Document document = db.parse("*.xml"); 其中2.3两步需要try...catch异常
    查看全部
  • ChildNodes.item(i).getFirstChild().getNOdeValue()和 ChildNodes.item(i).getTextContent()的区别 子节点中还包含其他子节点时,后者可以把子节点的值都显示出来。 getTextContent()获取节点中的text内容(即节点值). getNodeType().............有text,element,attr三个 而Element如果要获取值,必须读取它的子节点,<name>content</name>认为content是namae的子节点; 两种方法: getFirstChild().getNodeName();(获取子节点再获取值) getTextContent();(获取content方法)
    查看全部
  • 使用Dom解析xml文件的属性节点。 在不知道节点属性的个数和属性名时: 1、通过document.getElementByTagName("标签名")获得所有标签名的节点,得到一个NodeList集合 2、通过NodeList.getLength()获得集合长度,遍历集合 3、Node node = NodeList.item(index)获得里面的节点 4、通过NamedNodeMap attrs = node.getAttributes()获取所有属性集合 5、通过attrs.getLength()遍历集合,Node attr = atrrs.item(index) 6、attr.getNodeName()获得属性名,attr.getNodeValue()获取属性值 前提已经知道book节点有且只有1个id属性,将book节点进行强制类型转换,转换成element类型。 1、通过document.getElementByTagName("标签名")获得所有标签名的节点,得到一个NodeList集合 2、通过NodeList.getLength()获得集合长度,遍历集合 3、element book=(element)bookList.item(i);//强制转换为element类型 4、string attrValue = book.getAttribute("id");
    查看全部
  • 获取xml文件内容的 四种解析方式:DOM SAX DOM4J JDOM DOM使用步骤: 准备工作 1、创建一个DocumentBuilderFactory的对象 DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); 2、创建一个DocumentBuilder的对象 DocumentBuilder db=dbf.newDocumentBuilder(); 3、通过DocumentBuilder对象的parser方法加载xml文件到当前项目 Document document = db.parse("books.xml"); JAVA解析XML文件(4种) DOM、SAX :java 官方方式,不需要下载jar包 DOM4J、JDOM :第三方,需要网上下载jar包
    查看全部
  • 不同系统间通信、不同软件间通信、不同平台间通信使用xml文件 XML文件用来存储数据和传输数据 XML存储结构为树状 xml声明:<?xml version="1.0"encoding="utf-8"? >
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2018-03-22

  • DOM解析xml中Book节点下的子节点的属性名和属性值。 当<book> <name>冰与火之歌</name> </book>中只有name一个子节点的时候可以用System.out.println("节点值是:"+childNodes.item(k).getFirstchild().getNodeValue());或者System.out.println("childNodes.item.getTextContent()"); 当为<name><a>aaaa</a>冰与火之歌</name>中还有个子标签的时候,看情况等使用,因为用第一个方法会得到空值,原因是Element类型节点解析时会讲<name></name>中的文字返回null,所以需要先取得第一个子节点,再去值。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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