-
XML表现:以".xml"问文件扩展名的文件 存储:树形结构查看全部
-
XML文件解析 1-DOM 2-查看全部
-
在Java程序中如何获取xml 文件内容查看全部
-
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查看全部
-
JUnit是Java提供的一种进行单元测试的自动化工具。测试方法可以写在任意类中的任意位置。使用JUnit可以没有main()入口进行测试。 DOM4J在灵活性和对复杂xml的支持上都要强于DOM DOM4J的应用范围非常的广,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c组织提供的一个官方解析方式,在一定程度上是有所应用的。 当XML文件比较大的时候,会发现DOM4J比较好用 1.JUnit:Java提供的单元测试;@Test注解;采用JUnit不需要程序入口main方法 工程右键build path --Add library--JUnit单元测试 --version:JUnit4 2.性能测试结果:几kB的xml文件;建议使用DOM4J解析 DOM 有可能导致内存溢出(因为DOM是把文件全部加载进内存,解析大文件xml时有可能导致内存溢出)查看全部
-
JDOM和DOM4J查看全部
-
SAX优缺点查看全部
-
DOM优缺点查看全部
-
常用节点类型查看全部
-
解析方法比较查看全部
-
JUnit是Java提供的一种进行单元测试的自动化工具。测试方法可以写在任意类中的任意位置。使用JUnit可以没有main()入口进行测试。 DOM4J在灵活性和对复杂xml的支持上都要强于DOM DOM4J的应用范围非常的广,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c组织提供的一个官方解析方式,在一定程度上是有所应用的。 当XML文件比较大的时候,会发现DOM4J比较好用 1.JUnit:Java提供的单元测试;@Test注解;采用JUnit不需要程序入口main方法 工程右键build path --Add library--JUnit单元测试 --version:JUnit4 2.性能测试结果:几kB的xml文件;建议使用DOM4J解析 DOM 有可能导致内存溢出(因为DOM是把文件全部加载进内存,解析大文件xml时有可能导致内存溢出)查看全部
-
基础方法:DOM(平台无关的官方解析方式)、SAX(基于事件驱动的解析方式) 扩展方法:JDOM、DOM4J(在基础的方法上扩展出的,只有在java中能够使用的解析方法) DOM解析方法: 优点:形成了树结构,直观好理解,代码更易编写; 解析过程中树结构保存在内存中,方便修改。 缺点:当XML文件较大时,对内存的耗费比较大,容易影响解析性能并造成内存溢出。 SAX解析方法: 优点:采用事件驱动模式,对内存耗费比较小; 适用于只需要处理xml文件中的数据时。 缺点:不易编码; 很难同时访问同一个xml中的多处不同数据。 截图是JDOM与DOM4J的相关概念查看全部
-
使用DOM4J解析XML文件:<br> 1,引用DOM4J的JAR包<br> 2,创建一个SAXReader对象<br> 3,使用SAXReader对象的read方法传入一个File对象,该方法返回一个Document对象<br> 4,使用Document对象的getRootElement方法获取根节点<br> 5,通过根节点对象的elementIterator方法获取book迭代器<br> 6,遍历迭代器获取子节点,通过迭代得到的element对象的getName方法和getValue方法分别获取属性名和属性值查看全部
-
使用 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 { // TODO Auto-generated method stub super.characters(ch, start, length); value = new String(ch, start, length); if (!value.trim().equals("")) { System.out.println("节点值是:" + value); } }查看全部
-
1.SAX解析XML的速度比DOM的块, 2.SAX的解析XML的解析器,需要重写startElement()方法通过qName获取节点名和characters()方法获取节点值 3.重写charaters()方法时,String(byte[] bytes,int offset,int length)的构造方法进行数组的传递 去除解析时多余空格 if(!value.trim().equals("")){ System.out.println(value); }查看全部
举报
0/150
提交
取消