-
DOM解析文件: NodeList bookList = document.getElementsByTagName("book");获取节点book,返回NodeList类型,装节点的list Node book = bookList.item(index);获取book节点; NameNodeMap attrs = book.getAttributes();获取book节点的所有属性 Node attr = attrs.item(index);(获取某个属性) attr.getNodeName();(获取属性名) attr.getNodeValue();(获取属性值) 另外 Element也可。先强制类型转换成Element再调用.getAttribute("id");(前提是已经知道book节点有且只有一个id属性)查看全部
-
在Java程序中读取XML文件的过程也成为解析XML文件 解析目的:获取节点名、节点值、属性名、属性值 四种解析方式:DOM(Java官方提供)、SAX(Java官方提供)、DOM4J、JDOM DOM方式解析步骤: 1.创建一个DocumentBuilderFactory对象 2.创建一个DocumentBuilder对象 3.通过DocumentBuilder对象的parse(String fileName)方法解析XML文件;查看全部
-
子节点个数需要注意 ChildNodes.item(i).getFirstChild().getNOdeValue()和 ChildNodes.item(i).getTextContent()的区别 子节点中还包含其他子节点时,后者可以把子节点的值都显示出来查看全部
-
xml文件是以树形存储的 <? xml version="1.0" encoding="UTF-8"?> 作用: 不同程序间进行通信 不同系统间 不同平台间的通信查看全部
-
理解为什要在项目中创建一个lib文件夹把jar放入其中查看全部
-
老师。声音好好听啊查看全部
-
JAVA解析xml四种方式: DOM/SAX(官方) DOM4J/JDOM(额外下载x包) DOM方式准备步骤: 1.创建DocumentBuilderFactory对象 DocumentBuilderFactory dbf = DocumentBuilderFactory().newInstance(); 2.创建DocumentBuilder对象(通过DocumentBuilderFactory对象的newDocumentBuilderBuilder()方法来创建) DocumentBuilder db = dbf.newDocumentBuilderBuilder();(try catch) 3.通过parse()方法解析 Document db.parse("books.xml");(捕获异常)(返回document类型,导入org.3.com包那个)查看全部
-
不同程序(app01、app02)、不同系统(Windows、IOS等)、不同平台(手机端、PC端等)之间数据共享查看全部
-
DOM解析 DocumentBuilder Document查看全部
-
Node root = document.getDocumentElement();获取根节点 NodeList childNodes = book.getChildNodes();获取子节点 childNodes.item(k).getNodeType()==Node.ELEMENT_NODE;非空白文本节点 两种方法: getFirstChild().getNodeValue();(获取子节点再获取值) getTextContent();(获取content方法)查看全部
-
JUnit是Java提供的一种进行单元测试的自动化工具。测试方法可以写在任意类中的任意位置。使用JUnit可以没有main()入口进行测试。 DOM4J在灵活性和对复杂xml的支持上都要强于DOM DOM4J的应用范围非常的广,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。 DOM是w3c组织提供的一个官方解析方式,在一定程度上是有所应用的。 当XML文件比较大的时候,会发现DOM4J比较好用 来自 <http://www.imooc.com/video/4483> 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查看全部
-
四种解析方式对比: 1.基础方法:DOM,SAX(不需要导入jar包,java提供的) DOM平台无关的官方解析方式; SAX是java提供的基于事件驱动的解析方式 2.扩展方法:JDOM,DOM4J(在基础方法上扩展出来的,只有java中能够使用的解析方法 3.DOM:一次性加载形成DOM树;对内存性能要求较高 优点:形成了树结构,直观好理解,代码更容易编写; 解析过程中树结构保留在内存中,方便修改; 缺点:当xml文件较大时,对内存消耗比较大,容易影响解析性能并造成内存溢出 4.SAX:事件驱动,对内存耗费较小; 优点:适用于只需要处理xml中数据; 缺点:不易编码;很难同时访问同一个xml中的多处不同数据 JDOM与DOM、DOM4) JDOM 仅使用具体类而不使用接口 API大量使用了Collections类 DOM4) JOOM的一种智能分支,它合并了许多超出基本XML文档表示 的功能 OOM4)使用接口和抽象基本类方法,是一个优秀的Jav。xMLAPI 具有性能优异、灵活性好、功能强大和极端易用使用的特点 是一个开放源代码的软件查看全部
-
解析子节点的信息 Iterator itt = book.elementIterator(); while(itt.hasNext()){ Element bookchild = (Element)itt.next(); bookchild.getName(); bookchild.getStringValue(); }查看全部
-
导入XML文件 导入Jar包 ---------------------------------------DOM4J解析节点属性--------------------------------------- //创建SAXReader的对象reader SAXReader reader = new SAXReader(); //通过reader的read加载person.xml文件 Document document = reader.read(new File("person.xml")); //通过document对象获取根节点persons Element persons = document.getRootElement(); //通过element对象的elementIterator方法获取迭代器 Iterator it = persons.getIterator(); //遍历迭代器,获取根节点中的信息(persons)适用于我们不知道节点的名称时 while(it.hasNext()){ Element person = (Element)it.next(); //获取person的属性名和属性值 List<Attribute> personAttrs = person.attributes(); //由于是List类型所以我们使用for each()循环进行遍历 for(Attribute attr : personAttrs){ System.out.println("节点名:" + attr.getName() + "--节点值:" + attr.getValue()); } } ---------------------------注意代码中import时导入的是dom4j下的--------------------------------查看全部
-
@XML文件读取——(二)应用 DOM 方式解析 XML——解析属性和属性值 1、通过document.getElementByTagName("标签名")获得所有标签名的节点,得到一个NodeList集合 2、通过NodeList.getLength()获得集合长度,遍历集合 3、Node node = NodeList.item(index)获得里面的节点 4、通过NamedNodeMap attrs = node.getAttributes()获取所有属性集合 5、通过attrs.getLength()遍历集合,Node attr = atrrs.item(index) 6、attr.getNodeName()获得属性名,attr.getNodeValue()获取属性值 一、解析XML文件 1、java读取xml文件中的内容过程叫做解析xml文件 2、解析目的:获取节点名、节点值、属性名、属性值 3、四种解析方式:DOM、SAX、DOM4J、JDOM,前面两个为java官方提供,后面两个需要导入jar包查看全部
举报
0/150
提交
取消