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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • xml 不同程序(app01、app02)、 不同系统(Windows、IOS等)、 不同平台(手机端、PC端等)之间数据共享 XML 被设计用来传输和存储数据。 HTML 被设计用来显示数据。
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2015-07-18

  • 1.基础方法 DOM (与平台无关的官方解析); SAX (基于事件驱动的解析) 2.扩展方法 (在基础方法上扩展的,只有在 java 中才能够使用的解析方法) JDOM 、 DOM4J 3.DOM:一次性加载形成DOM树;对内存性能要求较高 -优点:形成了树结构,直观好理解,代码更容易编写;解析过程中树结构保留在内存中,方便修改; -缺点:当xml文件较大时,对内存消耗比较大,容易影响解析性能并造成内存溢出 4.SAX:事件驱动,对内存耗费较小;只关注数据 -优点:适用于只需要处理xml中数据; -缺点:不易编码;很难同时访问同一个xml中的多处不同数据 5.JDOM与DOM、DOM4J *JDOM: -仅使用具体类而不使用接口 -API大量使用了Collections类 *DOM4J -JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能; -DOM4J使用接口和抽象基本类方法,是一个优秀的Java XML API; -具有性能优异、灵活性好、功能强大和极端易用使用的特点 -是一个开放源代码的软件
    查看全部
  • dom解析
    查看全部
  • XML文件4种解析方式
    查看全部
  • 1.解析xml方式:1.DOM;2.SAX;3.DOM4J;4.JDOM;(获取节点名、节点值、属性名、属性值) 2.解析步骤:1.创建一个DocumentBuilderFactory对象;.newInstance()方法; 2.创建DocumentBuilder对象,.newDocumentBuilder()方法; 3.DocumentBuilder.parse("books.xml")方法 返回 Document对象
    查看全部
  • DOM4J在灵活性和对复杂xml的支持上都要强于DOM DOM4J的应用范围非常的广,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c组织提供的一个官方解析方式,在一定程度上是有所应用的。 当XML文件比较大的时候,会发现DOM4J比较好用
    查看全部
  • handler重写: 获取xml解析开始、结束 startDocument() endDocument() 获取xml的标签 开始:startElement(String uri, String localName, String qName,Attributes attributes) 获取属性名:attributes.getQName(i);获取属性值:attributes.getValue(i) 结束:endElement(String uri, String localName, String qName) 获取节点值 characters(char[] ch, int start, int length) String value = new String(ch, start, length);
    查看全部
  • /* * 如何获取book子节点,qName.equals("name")时,向book对象中setName,获取文本是在characters方法中的 * 将qName 和 Book对象做成全局变量, 便于传值和共用,这样便能够获取到book子节点的值 * 存储book对象的值,xml的SAX解析并将解析的内容及xml结构形式保存至Java对象中。 ArrayList保存对象 ArrayList<Book> BookList=new ArrayList<Book>(); BookList.add(book);book=null;后继续遍历 * */
    查看全部
  • SAX解析XML的速度比DOM的块, SAX的解析XML的解析器,需要重写startElement()开始解析的方法and endElemaent()方法 结束解析的方法and characters()方法 重写charaters()方法时,读取节点值(去除空的节点值) if(!value.trim().equals("")){
    查看全部
  • 1.handler重写: 获取xml解析开始、结束 startDocument() endDocument() 2.获取xml的标签 开始:startElement(String uri, String localName, String qName,Attributes attributes) 获取属性名:attributes.getQName(i);获取属性值:attributes.getValue(i) 结束:endElement(String uri, String localName, String qName) 3.获取节点值 characters(char[] ch, int start, int length) String value = new String(ch, start, length); if(qName.equals("book")) 会一直将book元素解析完。
    查看全部
  • DOM解析原理: 先把XML文件整个加载到内存中,在逐个解析。 SAX解析原理: 通过自己创建的Handler类,去逐个分析遇到的每一个节点;(节点分析是从最外层向里层逐个开始) 遇到bookstore节点就可以进行处理了,但是bookstore没有属性所以就不对其做更多的处理了 遇到book节点时,book节点是拥有的id属性,会通过startElement来处理book节点的id属性 遇到book节点的子节点name节点,它没有必要处理name的属性,但name是个ElementNode类型的节点,它会获取name的节点名和节点值,执行完name节点后会通过endElement方法执行name节点的结束标签 SAX解析XML的步骤: 1、通过SAXParserFactory的静态newInstance()方法获取SAXParserFactory实例factory 2、通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser 3、创建一个类继承DefaultHandler,重写其中的一些方法进行业务处理并创建这个类的实例handler
    查看全部
  • 解析步骤
    查看全部
  • 解析xml方式
    查看全部
  • 图重要,要看懂 child.item(k).getNodeType == Node.ELEMENT_NODE来判断获取的字节点是否是element类型 getNodeType().............有text,element,attr三个 而Element如果要获取值,必须读取它的子节点,<name>content</name>认为content是namae的子节点; getTextContent()获取的是节点中的所有text内容包括子节点
    查看全部
  • DOM解析文件: NodeList bookList = document.getElementsByTagName("book");获取节点book,返回NodeList类型,装节点的list Node book = bookList.item(index);获取book节点; NameNodeMap attrs = book.getAttributes();获取book节点的所有属性 Node attr = attrs.item(index);(获取某个属性) attr.getNodeName();(获取属性名) attr.getNodeValue();(获取属性值) 另外 Element也可。先强制类型转换成Element再调用.getAttribute("id");(前提是已经知道book节点有且只有一个id属性)
    查看全部

举报

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

微信扫码,参与3人拼团

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

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