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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • JDOM常见问题: 乱码问题: 1、修改xml文件中的encoding 2、将输入流通过InputStreamReader来改变编码格式
    查看全部
  • JDOM解析子节点的名和值: Element类的方法(Book): .getChildren() 返回子节点的List集合。(返回List<Element>类型) .getName() 返回节点的名字 .getValue() 返回节点的值
    查看全部
  • JDOM解析节点属性: Element类的方法(Book): .getAttributes() 属性的集合。(返回List<Attributes>类型) .getAttribute(属性名) 通过“属性名”指定属性。(返回Attribute类型) .getAttributeValue(属性名) 直接通过“属性名”返回属性值。(返回String类型) Attributes类的方法: (与DOM和SAX的不同:不会保留空格等文本,只会返回实际值) .getName() 返回属性名 .getValue() 返回属性值
    查看全部
  • JDOM是非官方提供的解析方法,因此要导入JAR包。 JDOM解析xml文件的过程: org.jdom2.input 1、SAXBuilder saxBuilder = new SAXBuilder(); (先创建一个输入流,将xml文件加载到输入流中) 2、InputStream in = new FileInputStream(xml文件名); 3、Document document = saxBuilder.build(InputStream in); 4、Element rootElement = document.getRootElement(); //获取xml文件中的根节点 5、List<Element> childList = rootElement.getChildren(); //获取根节点下的子节点List集合
    查看全部
  • 可通过SAX解析xml文件,建立对象。 要在全局建立对象。 当对象的成员变量为属性时,可在startElement()中设置成员变量的值。当对象的成员变量不为属性时,可将character()方法中的value设为全局变量,再在endElement()方法中得到成员变量的值(因为当访问完character()方法后,会设置好value的值,然后就会访问endElement()方法)。要在endElement()方法中对对象清空,方便下一个对象建立。 可通过List集合将创建好的对象保存下来。
    查看全部
  • 为了解析节点关系,需要在SAXparserHandler类中重写endElement()方法: endElement()方法:每个结束标签都会调用一次该函数。参数:qName--当前解析的标签的名字。 节点名可直接通过startElement()的qName获得。 为了获取节点的值,需要在SAXparserHandler类中重写characters()方法: characters()方法:参数:char[] ch---节点中的所有内容,可转化为String类型直接输出。(可通过String的.trim.equals("")来去掉空格)
    查看全部
  • 为了解析节点的属性,需要在SAXparserHandler类中重写: startElement()方法:用来解析xml元素,每个开始标签都会调用一次该方法。参数:attributes--开始标签的属性;qName--当前解析的标签的名字。 attributes的方法: .getValue(属性名) 返回属性名的属性值。 .getLength() 返回节点的属性个数。 .getQName(int index) 返回得到索引值为index的属性名。 .getValue(int index) 返回得到索引值为index的属性值。
    查看全部
  • SAX方法解析xml步骤: 1、SAXparserFactory factory = SAXparserFactory.newInstance(); 2、SAXparser parser = factory.newSAXparser(); 4、调用parser的.parser()方法开始解析。
    查看全部
  • 需要自己写SAXparserHandler类继承DefaultHandler类,并重写startElement方法(用来遍历xml文件的开始标签)、endElement方法(用来遍历xml文件的结束标签)、startDocument方法(用来标识解析开始)、endDocument方法(用来标识解析结束)。
    查看全部
  • DOM解析xml文件会将整个文件都加在到内存当中,然后去逐个解析。 SEX解析xml文件是通过自己创建的Handler处理类,去按顺序逐个分析遇到的每个节点。逐行!!!!! 当遇到的节点具有属性时,可以通过startElement去描写处理节点属性的逻辑。会通过endElement来解析结束节点。
    查看全部
  • DOM下解析xml文件某个节点的子节点名和子节点值: 1、Node类的.getChildNodes() 返回得到该节点(book)的子节点集合。(返回NodeList类型) 2、NodeList类的.item(int index) 可通过索引值index获取具体某个节点(name)。(返回Node类型) 3、Node类的.getNodeType() 可返回节点的类型。可与Node的静态变量进行比较,筛选出Element类型的节点。 4、Node类的.getNodeName() 可返回子节点(name)的名称。 5、存储的信息实质为子节点(name)的子节点。通过Node类的.getFirstChild().getNodeValue()得到子节点(name)的信息。或通过Node类的.getTextContent()直接得到子节点(name)的信息。(注意两者的不同)
    查看全部
  • 常用的节点类型
    查看全部
  • DOM下解析xml文件节点的属性: org-w3c-dom 一、未知节点属性的个数和属性名时: 1、Document类的.getElementsByTagName(标签名)方法,可通过标签名返回节点的集合(返回NodeList类型) (对于NodeList,得到的是具有相同标签名的节点的集合List,需要用for遍历。) 2、NodeList类的.getLength() 可返回集合的长度。 3、NodeList类的.item(int index) 可访问集合中下标为index的节点(index从0开始),(返回Node类型)。 4、Node类的.getAttributes() 返回节点Node的所有属性的集合(返回NamedNodeMap类型)。 5、NamedNodeMap类的.getLength() 可返回节点具有的属性的数目。 6、NamedNodeMap类的.item(int index) 可获取节点下索引值为index的属性,返回Node类型。 7、NamedNodeMap类的.getNodeName()可返回该属性的名称,通过.getNodeValue()返回属性值。 二、已知节点的属性只有一个,且属性名已知 1、Document类的.getElementsByTagName(标签名)方法,可通过标签名返回节点的集合(返回NodeList类型) 2、NodeList类的.getLength() 可返回集合的长度。 3、NodeList类的.item(int index)强制类型转换为Element类型。 4、Element类的.getAttribute(属性名) 可得到属性的值。(返回String类型)
    查看全部
  • Document - org.w3c.dom DOM下解析xml的过程:
    查看全部
  • 在Java中读取xml文件的方式:DOM、SAX、DOM4J、JDOM 在eclipse中,建立JAVA Project,直接将xml文件拖拽至project文件下
    查看全部

举报

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

微信扫码,参与3人拼团

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

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