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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • xml的SAX解析并将解析的内容及xml结构形式保存至Java对象中。 SAX解析: 1、获取一个SAXParserFactory的实例:SAXParserFactory factory = SAXParserFactory.newInstance(); 2、通过factory获取SAXParser实例:SAXParser parser = factory.newSAXParser(); 3、创建SAXParserHandler对象:SAXParserHandler handler = new SAXParserHandler(); 4、将xml文件和解析方式handler加载到SAXParser实例:parser.parse("books.xml",handler); 解析的时候,是startElement-characters-endElement , characters解析完一个属性,就到endElement,然后又解析一个属性又到endElement,最后解析完全部属性,到endElement又到startElement开始下一个节点。 ArrayList保存对象 ArrayList<Book> BookList=new ArrayList<Book>(); BookList.add(book);book=null;后继续遍历 public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException// qName是String类型节点名称;attributes是Attributes类型的实例,属性的意思;
    查看全部
  • DOM4J 解析 xml 文件 1、创建一个 SAXReader 对象 SAXReader saxReader = new SAXReader(); 2、通过SAXReader对象的read方法加载books.xml文件,获取docuemnt对象 Document document = saxReader.read(fileName); 3、通过 getRootElement() 获取根节点bookstore Element bookstore = document.getRootElement(); 4、通过 elementIterator() 获取book的迭代器 Iterator it = bookstore.elementIterator(); 5、遍历迭代器,获取根节点中的信息(书籍) while(it.hasNext()){ //获取子节点的元素 Element book = (Element)it.next();} 6、获取属性节点类似 JDOM 解析 List<Attribute> attrs = book.attributes(); 7、遍历,获取属性节点名、值 book.getName() book.geValue() 8、获取book子节点的迭代器 Iterator itt = book.elementIterator(); 8、遍历,获取元素节点名、值 book.getName() book.getStringValue()/book.getText()
    查看全部
  • @XML文件读取——(二)应用 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()获取属性值
    查看全部
  • @XML文件读取——初识XML文件 一、xml简介 1、xml文件以.xml为扩展名 2、存储:树形结构 3、用于不同平台、不同设备间的数据共享通信 二、【扫盲】 1、<book id="1"></book> id为属性, <book><id>1</id></book> id为节点 2、这xml文件开头要加上版本信息和编码方式<?xml version="1.0" encoding="UTF-8"?>
    查看全部
    3 采集 收起 来源:初次邂逅 XML

    2018-03-22

  • 四种解析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 具有性能优异、灵活性好、功能强大和极端易用使用的特点 是一个开放源代码的软件
    查看全部
  • DOM SAX官方提供 不需要额外的jar包
    查看全部
  • 声明:<?xml version="1.0" encoding="UTF-8"?>
    查看全部
    2 采集 收起 来源:初次邂逅 XML

    2018-03-22

  • 第一步,获取一个SAXParserFactory对象 SAXParserFactory factory = SAXParserFactory.newInstance(); 第二步,获取一个SAXParser对象 SAXParser parser = factory.newSAXParser(); 第三步,创建一个类SAXParserHandler implements DefaultHandler; 第四步,在类中重写startElement()和endElement()方法. 在类中重写startDocument()方法和endDocument()方法. 第五步,创建SAXParserHandler对象 SAXParserHandler handler = new SAXParserHandler() 第六步,调用parse(url,handler实例)方法 parser.parse("book.xml",handler);
    查看全部
  • SAX方式解析xml步骤 1.通过SAXParserFactory的静态newInstance()方法获取一个SAXParserFactory的对象。 2.通过SAXParserFactory对象的newSAXParser()方法返回一个SAXParser类的对象。 3.创建一个类继承DefaultHandler,重写其中的一些方法并创建类的实例. 4.通过SAXParser类的Parse(Stringname,df)方法解析xml文件,参数Stringname为路径名,df为继承于DefaultHandler类的实例化对象,不需要定义变量存储返回的类型. SAX是按节点顺序进行解析,遇到xml的声明即开始解析,遇到最后一个节点的尾节点便结束解析,需要用户自己定义一个类继承于DefaultHandler类来解析,遇到开始标签节点便通过startElement开始解析节点,遇到结束标签节点便通过endElement结束解析,再遇到开始节点继续通过startElement解析,一直循环直到xml文件最后的结束标签节点. 5.在继承于DefaultHandler这个类中需要重写父类的startElement()和endElement()方法,来进行开始节点与结束节点的解析,再重写startDocument()方法与endDocument()方法来标识解析的开始与结束.
    查看全部
  • 获取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包
    查看全部
  • 4种解析方式 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; -具有性能优异、灵活性好、功能强大和极端易用使用的特点 -是一个开放源代码的软件
    查看全部
  • 老师。声音好好听啊
    查看全部
  • Java中DOM解析XMl文件: step 1: 获得dom解析器工厂(用于创建具体的解析器) DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); step 2:获得具体的dom解析器(抛出:ParserConfigurationException) DocumentBuilder db = dbf.newDocumentBuilder(); step3: 解析一个xml文档,获得Document对象(根结点) (抛出:SAXException/IOException) Document document = db.parse("xxx.xml");
    查看全部
  • ldy
    //通过增强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 + "个人======"); }
    查看全部
  • getChildNodes()获取节点的子节点集合,空白和换行符也被当成了子节点

    Text类型的节点,nodeName返回值#text

    getNodeType()用来判断节点类型

    elementValue的值都是null,应该用getFirstChild().getNodeVaule()来获取,因为尖括号中间的值被认为是节点,或者getTextContent()方法

    查看全部

举报

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

微信扫码,参与3人拼团

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

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