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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • SAX解析XML的速度比DOM的块, SAX的解析XML的解析器,需要重写startElement()开始解析的方法和endElemaent()结束解析的方法和 characters()方法 重写charaters()方法时,String(byte[] bytes,int offset,int length)的构造方法进行数组的传递 顺序:startElement()--characters()--endElemaent() 再去除解析时多余空格 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 { super.characters(ch, start, length); String value = new String(ch, start, length); if (!value.trim().equals("")) { System.out.println("节点值是:" + value); } }
    查看全部
  • 解析xml元素节点属性名与属性值:<br> 1. 重写DefalutHandler的实现类对象的startElement()方法<br> 2. 在startElement()方法中,先调用DefaultHanlder 的startElement()方法<br> 3. 已知节点的属性名的情况下<br> if(qname.equals("book")){<br> String value = attributes.getValue("id");<br> }<br> 4.不知节点的属性名的情况下<br> 获取属性长度<br> int length=attributes.getLength();<br> 获取属性名和属性值 for(int i=0;i<length;i++){ System.out.print(attributes.getQname(index)+attributes.getValue(index)); }
    查看全部
  • DOM:先全部读取<br><br> SAX解析:通过handler处理类逐个分析每个节点,从外到内逐个解析。一个一个来<br> startElement, endElement(开始标签解析,结束标签解析)<br><br> <br><br> 步骤:<br><br> 1.通过SAXParserFactory的静态newInstance()方法获取SAXParserFactory实例factory<br><br> SAXParserFactory factory = SAXParserFactory.newInstance();<br><br> <br><br> 2.通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser<br><br> SAXParser parser = factory.newSAXParser();<br><br> parser.parse("路径",handler类型对象);(需创建见3)<br><br> <br><br> 3.创建一个类继承DefaultHandler,重写其中一些方法进行业务处理并创建这个类的实例handler<br><br> 创建一个类继承DefaultHandler类,并重写父类的四个方法<br><br> startElement()<br><br> 用于遍历xml的开始标签<br><br> endElement()<br><br> 遍历xml结束标签<br><br> startDocument<br><br> 用来标识解析开始<br><br> endDocument<br><br> 用来标识解析结束<br><br> <br><br> SAX解析xml步骤<br> 1.通过SAXParseFactory的静态newInstance()方法获取SAXParserFactory实例factory<br><br> 2.通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser<br><br> 3.创建一个类继承DefaultHandle,重写方发进行业务已处理创建这个类的实例handle
    查看全部
  • 通过book元素的getChildNodes()得到所有子节点的集合,需要注意的是,在DOM的读取中,会将空格和回车看成是text节点类型,因此需要注意区分开(可以通过判断节点类型是否为Node.ELEMENT_NODE)。通过item(index)遍历所有子节点,通过item(index)的getNodeName()方法还来获取子节点的名字,而获取它的属性值时,要注意直接使用getNodeValue()得到的是标签的值(一般是空)因此可以使用两种方法: 1.使用item(index).getFirstNode().getNodeValue()来返回值 2.使用item(index).getTextContent()来返回属性值 上面两种方法的区别在于在一个标签中是否包含的其他的子标签,如果有的话,那么第1个方法就仍得到null,第二个方法会返会将自标签的内容一起获得。
    查看全部
  • 常用的节点类型
    查看全部
  • 一、解析XML文件 1、java读取xml文件中的内容过程叫做解析xml文件 2、解析目的:获取节点名、节点值、属性名、属性值 3、四种解析方式:DOM、SAX、DOM4J、JDOM,前面两个为java官方提供,后面两个需要导入jar包 二、准备工作 1、创建一个DocumentBuilderFactory对象,通过.newInstance()获得 2、创建一个DocumentBuilder对象,通过DocumentBuilderFactory对象的newDocumentBuilder()获得 3、通过DocumentBuilder对象的parse(uri)进行解析,接受一个Document org.w3c.dom对象,将xml成功加载到java下:Document document = db.parse("xxx.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()获取属性值 前提已经知道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");
    查看全部
  • DOM解析xml方法准备工作:三步<br> 创建DocumentBuilderFactory对象 创建DocumentBuilder对象 <br> 通过DocumentBuilder对象的parse方法加载xml文件到当前项目下
    查看全部
  • java程序解析xml文件的四中方法:DOM与SAX方法是java官方提供的
    查看全部
  • 常用的节点类型
    查看全部
  • JODM DOM4J优点
    查看全部
  • sax 优缺点
    查看全部
  • DOM解析优缺点
    查看全部
  • XML常用节点类型
    查看全部
  • DOM方式解析xml
    查看全部
  • Java解析xml文件内容的方式
    查看全部

举报

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

微信扫码,参与3人拼团

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

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