-
解析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)); }查看全部
-
通过book元素的getChildNodes()得到所有子节点的集合,需要注意的是,在DOM的读取中,会将空格和回车看成是text节点类型,因此需要注意区分开。通过item(index)遍历所有子节点,通过item(index)的getNodeName()方法还来获取子节点的名字,而获取它的属性值时,要注意直接使用getNodeValue()得到的是标签的值(一般是空)因此可以使用两种方法: 1.使用item(index).getFirstNode().getNodeValue()来返回值 2.使用item(index).getTextContent()来返回属性值 上面两种方法的区别在于在一个标签中是否包含的其他的子标签,如果有的话,那么第1个方法就仍得到null,第二个方法会返会将自标签的内容一起获得。查看全部
-
常用的节点类型查看全部
-
获取xml文件内容的<br> 四种解析方式:DOM SAX DOM4J JDOM<br> DOM、SAX :java 官方方式,不需要下载jar包<br> DOM4J、JDOM :第三方,需要网上下载jar包<br> DOM使用步骤:<br> 准备工作<br> 1、创建一个DocumentBuilderFactory的对象<br> DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();<br> 2、创建一个DocumentBuilder的对象<br> DocumentBuilder db = dbf.newDocumentBuilder();<br> 3、通过DocumentBuilder对象的parse方法加载xml文件到当前项目<br> Document document = db.parse("*.xml");查看全部
-
.xml文件是一个倒着的树状结构。 2.xml文件中,节点名称区分大小写。<??>里面放的是版本信息,编码。 3.xml文件作用: 不同应用程序之间通信、传输信息(订票程序和支付程序) 不同系统间的通信(例:Windows系统和IOS系统) 不同平台间的数据共享(手机端和PC端) 不同APP之间的通信,不同的平台间的通信,不同平台间的数据共享。XML文件主要用于存储以及传输信息。 通过xml文件存储小型数据。 即使用相同的xml文件将不同的应用或服务联系起来。查看全部
-
标记点2查看全部
-
标记点1查看全部
-
JUnit是Java提供的一种进行单元测试的自动化工具。测试方法可以写在任意类中的任意位置。使用JUnit可以没有main()入口进行测试。 DOM4J在灵活性和对复杂xml的支持上都要强于DOM DOM4J的应用范围非常的广,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c组织提供的一个官方解析方式,在一定程度上是有所应用的。 当XML文件比较大的时候,会发现DOM4J比较好用 1.JUnit:Java提供的单元测试;@Test注解;采用JUnit不需要程序入口main方法 2.性能测试结果:几kB的xml文件;建议使用DOM4J解析 DOM-33ms SAX-6ms JDOM-69ms DOM4J-45ms 工程右键build path --Add library--JUnit单元测试 --version:JUnit4 DOM:33,SAX:6 JDOM:69;DOM4J:45 DOM 有可能溢出 多使用DOM4J查看全部
-
@·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; -具有性能优异、灵活性好、功能强大和极端易用使用的特点 -是一个开放源代码的软件查看全部
-
@·4种解析方式PK(整体)查看全部
-
JDOM 解析时乱码的处理 两种方法可以解决乱码问题, 1:修改xml文件中的编码格式, 2:在解析中使用inputstreamreader()指定编码格式 // 2.创建一个输入流,将xml文件加载到输入流中 in = new FileInputStream("src/res/books.xml"); InputStreamReader isr = new InputStreamReader(in, "UTF-8"); // 3.通过saxBuilder的build方法,将输入流加载到saxBuilder中 Document document = saxBuilder.build(isr); ... Ps:注意先看下xml文件encoding是否修改编码方式后可以正常显示,若还是乱码,则考虑使用代码的方式将其转换。 处理中文乱码步骤: 1)修改xml文件的编码 2)将InputStream封装为一个InputStreamReader,并在InputStreamReader的构造函数中指定正确的编码,然后将InputStreamReader传入到SAXBuilder中就可以处理中文乱码了 利用代码问题解决局部乱码问题(需要利用InputStreamReader来解决) (1)InputStream in=new FIleStream("book.xml"); (2)InputStreamReader isr = new InputStreamReader(in, "utf-8"); (3)Document document = saxBuilder.build(isr);查看全部
-
标记点2查看全部
-
标记点1查看全部
-
xml书写大致格式查看全部
-
节点类型查看全部
举报
0/150
提交
取消