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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • <?xml version="1.0" encoding="UTF-8"?>声明头文件 问号格式 版本 编码 XML可以在不同程序 不同操作系统 不同平台中 进行数据传输 XML是一个树形结构存储数据,其中是一个倒树,根结点在最上方,可为结点添加属性。 xml:使数据跨平台使用,共享。通常用来传输数据,而不用来显示。 标签可以自定义,成对出现,都有关闭标签。
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2018-03-22

  • 1、DocumentBuilderFactory是抽象类,不能new对象实例,所以用Instance()方法来获取工厂解析器实例对象 2、DocumentBulider同样不能new 对象,通过工厂解析器对象来产生此类的解析器对象 工厂对象 . newDocumentBuilder() 3、通过解析器对象中的方法Parser(String uri)来解析xml文档文件。--解析器 java中解析xml的方式有四种,主要是DOM SAX DOM4J JDOM 注意:1.通过DocumentBuilderFactory下的DocumentBuilder对象的parse方法获取xml文件(需try-catch获取异常,或throw)
    查看全部
  • 常用节点类型:Element、Attr、Text
    查看全部
  • 选中部分:不知道节点属性,通过遍历获取 下半部分:已知节点有且只有1个id属性,则可通过bookList.item(i)直接强转成Element——getAttribute("id")来获取
    查看全部
  • 1.通过DocumentBuilderFactory下的DocumentBuilder对象的parse方法获取xml文件(需try-catch获取异常,或throw)
    查看全部
  • java解析xml的四种方式,DOM和SAX较高效
    查看全部
  • public class SAXParserHandler extends DefaultHandler { /** * 用来遍历开始标签 */ @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // TODO 自动生成的方法存根 super.startElement(uri, localName, qName, attributes); } /** * 用来遍历结束标签 */ @Override public void endElement(String uri, String localName, String qName) throws SAXException { // TODO 自动生成的方法存根 super.endElement(uri, localName, qName); } /** * 用来标识解析开始 */ @Override public void startDocument() throws SAXException { // TODO 自动生成的方法存根 super.startDocument(); System.out.println("SAX开始解析"); } /** * 用来标识解析结束 */ @Override public void endDocument() throws SAXException { // TODO 自动生成的方法存根 super.endDocument(); System.out.println("SAX结束解析"); } }
    查看全部
  • public class SAXTest { public static void main(String[] args) { // TODO 自动生成的方法存根 //创建一个SAXParserFactory的对象 SAXParserFactory factory=SAXParserFactory.newInstance(); try { //创建一个SAXParser的对象 SAXParser parser=factory.newSAXParser(); //创建一个SAXParserHandler(自己创建,继承DefaultHandler类)的对象 SAXParserHandler handler=new SAXParserHandler(); //调用parse(String url , HandlerBase hb)方法>>>开始解析,遍历开始标签,遍历结束标签,解析结束 parser.parse("books.xml", handler); } catch (ParserConfigurationException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (SAXException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }
    查看全部
  • /** * 获取子节点 */ //获取所有book节点的子节点的集合 NodeList ChildList = book.getChildNodes(); //输出子节点数量 System.out.println("第"+(i+1)+"本书共有"+ChildList.getLength()+"个子节点"); //遍历ChildList集合 for(int k = 0 ; k < ChildList.getLength() ; k++){ //通过item方法获取某一个子节点 Node Child = ChildList.item(k); /* * //获取子节点的名称并输出 * System.out.println("节点名:"+Child.getNodeName()); * 两个标签之间(包括结束标签到开始标签之间)的所有内容都看成是子节点 * 空格与换行字符看成为一个text类型的node,返回名称为:#text */ //区分text类型的节点和element类型的节点,并获取后者的节点名 if(Child.getNodeType()==Node.ELEMENT_NODE){ //获取节点类型方法&节点类型的表示方式 System.out.print("类型为element的节点名:"+Child.getNodeName()); //获取节点值并输出 //无效方法: System.out.println("---节点值:"+Child.getNodeValue()); //element类型的返回值默认为null //有效方法一: System.out.println("---节点值:"+Child.getFirstChild().getNodeValue()); //在其下面还有子节点时,会因为是Element节点所以默认的getNodeValue()返回值是null //有效方法二: System.out.println("---节点值:"+Child.getTextContent()); //在其下面还有子节点时,会将子节点内容与当前节点内容一起获取 } }
    查看全部
  • 解析(parse)xml
    查看全部
  • element类型返回的value值为空
    查看全部
  • 常用结点类型
    查看全部
  • B_C
    1、DocumentBuilderFactory是抽象类,不能new对象实例,所以用Instance()方法来获取工厂解析器实例对象。 2、DocumentBulider同样不能new 对象,通过工厂解析器对象来产生此类的解析器对象: 工厂对象 . newDocumentBuilder() 3、通过解析器对象中的方法Parser(String uri)来解析xml文档文件。 //创建一个DocumentBuilderFactory的对象 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); //创建一个DocumentBuilder的对象 try { //创建DocumentBuilder对象 DocumentBuilder db = dbf.newDocumentBuilder(); //通过DocumentBuilder对象的parse方法加载books.xml文件到当前项目下 Document document = db.parse("book.xml"); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
    查看全部
  • B_C
    <?xml version="1.0" encoding="UTF-8"?>声明头文件 问号格式 版本 编码 XML可以在不同程序 不同操作系统 不同平台中 进行数据传输
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2018-03-22

  • DOM解析与平台无关的解析方式,可以使用DOM的api在任意地方进行解析。 SAX是JAVA平台提供的解析方式,是基于事件驱动的解析方式。 JDOM和DOM4J是java扩展出的方法,只有JAVA中可以使用的解析方法。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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