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

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

难度初级
时长 3小时 0分
学习人数
综合评分9.63
323人评价 查看评价
9.9 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • jar包 在项目导出转移到另一台机器时则jar包失去路径 真正的赋值到项目中 new一个res包 在new folder lib中复制过来 继续buildPath导入选中项目中jar包
    查看全部
  • 在JDOM中存储对象 1.创建一个新的book类并将其实例化 Book bookEntity = new Book(); 2.添加节点属性值到book if(attrName.equals("id")){ personEntity.setId(attrValue); } 3.添加子节点属性值到book if (child.getName().equals("name")) { bookEntity.setName(child.getValue()); } else if (child.getName().equals("author")) { bookEntity.setAuthor(child.getValue()); } else if (child.getName().equals("year")) { bookEntity.setYear(child.getValue()); } else if (child.getName().equals("price")) { bookEntity.setPrice(child.getValue()); } else if (child.getName().equals("language")) { bookEntity.setLanguage(child.getValue()); }
    查看全部
  • JDOM解析乱码处理 1.修改xml第一行的encoding属性 2.在代码中处理,应用IO流知识 //创建输入流,将XML文件加载到输入流中 InputStream in = new FileInputStream("src/book.xml"); //使用包装流InputStreamReader进行读取编码的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");
    查看全部
  • 获取到子节点集合后,通过getAttributes获取到节点,开始遍历attribute节点,通过getName和getValue()方法获取到节点名跟属性值,如果子节点下还有子节点,则再获取用getChildren()获取节点,得到集合后再遍历,获取name和value
    查看全部
  • DOM的解析<br> 1.获取SAXBuilder对象<br> 2.将文件加载到SAXBuilder中,并获取Document对象<br> 3.通过Document对象获取文件的根节点<br> 4.有了根节点,通过根节点获取它的孩子节点书的集合<br> 5.循环遍历孩子节点集合,通过getAttributes方法获取节点的属性Attribute集合<br> 6.通过attribute的getName和getValue方法分别获取属性的名称和值 7.获得book下的节点,通过book节点对象的getChildren()方法获取子节点的集合 8.再通过子节点的getName和getValue方法获取节点名和节点的值
    查看全部
  • 1.创建JDOM对象 SAXBuider saxbuiler = new SAXBuilder(); 2.将文件加载到输入流 inputsteam in = new FileInputStream(""); 3.通过saxBuilder的build方法,将输入流加载道saxbuilder中 Document dom = SaxBuilder.build(in); 4.获取xml的根节点 Document root = dom.getRootElement(); 5.获取根节点下子节点的List集合 List<Element> list = root.getChildren();
    查看全部
  • 像<books>、<book>这种节点就属于ElementNode,而thinking in java、85.5这种就属于TextNode。 下面结合一张图来详细讲解Sax解析。 xml文件被Sax解析器载入,由于Sax解析是按照xml文件的顺序来解析,当读入<?xml.....>时,会调用startDocument()方法,当读入<books>的时候,由于它是个ElementNode,所以会调用startElement(String uri, String localName, String qName, Attributes attributes) 方法,其中第二个参数就是节点的名称,注意:由于有些环境不一样,有时候第二个参数有可能为空,所以可以使用第三个参数,因此在解析前,先调用一下看哪个参数能用,第4个参数是这个节点的属性。这里我们不需要这个节点,所以从<book>这个节点开始,也就是图中1的位置,当读入时,调用startElement(....)方法,由于只有一个属性id,可以通过attributes.getValue(0)来得到,然后在图中标明2的地方会调用characters(char[] ch, int start, int length)方法,不要以为那里是空白,Sax解析器可不那么认为,Sax解析器会把它认为是一个TextNode。但是这个空白不是我们想要的数据,我们是想要<name>节点下的文本信息。这就要定义一个记录当上一节点的名称的TAG,在characters(.....)方法中,判断当前节点是不是name,是再取值,才能取到thinking in java
    查看全部
  • 为了解析节点关系,需要在SAXparserHandler类中重写endElement()方法: endElement()方法:每个结束标签都会调用一次该函数。参数:qName--当前解析的标签的名字。 节点名可直接通过startElement()的qName获得。 为了获取节点的值,需要在SAXparserHandler类中重写characters()方法: characters()方法:参数:char[] ch---节点中的所有内容,可转化为String类型直接输出。(可通过String的.trim.equals("")来去掉空格)
    查看全部
  • 用SAX方法解析XML文件时,重写DefalutHandler的实现类对象的startElement()方法,可以在其中进行对节点属性的解析操作。 1、在已知节点元素下属性的名称的情况下获取对应的属性值: 用getValue("id");方法 2、在不知道节点元素下属性的名称与数量的情况下获取属性值: 先用attributes.getLength();方法获取其中属性的数量然后通过for循环来进行操作 再通过getQName(int index);来获取属性名,getValue(index);来获取对应的属性值
    查看全部
  • sax方式解析 1、获得SAXParserFactory实例:SAXParserFactory.newInstance() 2、获得parser实例:SAXParserFactory实例.newSAXParser() 3、获得handler实例:新建类继承DefaultHandler,重写startElement和endElement方法进行业务处理
    查看全部
  • /** * DOM解析xml文件步骤: * 1.创建DocumentBuilderFactory对象dbf * 2.借助dbf.newDocumentBuilder()返回DocumentBuilder对象 db * 3.利用db.parse("books.xml")返回Document对象document * 4.document.getElementsByTagName()返回NodeList对象bookList * 5.Node book=bookList.item(i)获取bookList中的第i+1个节点 * 6.NamedNodeMap attrs=book.getAttributes()获取每本书的属性集合 * 7.Node attr=attrs.item(j)获取第j+1个属性 * 8.attr.getNodeName()获取属性名称,attr.getNodeValue()获取属性值 边读取时边用对象储存 */
    查看全部
  • 节点类型
    查看全部
  • 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类型)
    查看全部
  • XML是一种通信媒介,在不同的操作系统和平台间和软件中通信的一种文件格式,采用树形结构
    查看全部
    0 采集 收起 来源:初次邂逅 XML

    2017-07-18

  • 解析的目的:获取节点名、节点值、属性名、属性值 解析的方法:DOM(官方)、SAX(官方)、DOM4J、JDOM DOM解析步骤:1.创建一个DocumentBuilderFactory的对象。用DocumentBuilderFactory.newInstance()方法 2.创建一个DocumentBuilder的对象。用dbf.newDocumentBuilder()方法[try..catch] 3.通过DocumentBuilder对象的parse(String fileName)方法解析xml文件。 4.创建一个Document接收返回值。导入org.w3c.dom包
    查看全部

举报

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

微信扫码,参与3人拼团

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

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