-
Node nd=bookList.item(i); System.out.println("下面是第"+(i+1)+"个book节点的属性"); NamedNodeMap nnp=nd.getAttributes(); for(int i1 = 0;i1<nnp.getLength();i1++){ System.out.println("第"+i1+1+"个属性的属性名为"+nnp.item(i1).getNodeName()); System.out.println("第"+i1+2+"个属性的属性值为"+nnp.item(i1).getNodeValue()); } NodeList childList=nd.getChildNodes(); System.out.println("第"+(i+1)+"个节点共有"+(childList.getLength()-1)/2+"个子节点"); for(int i1 = 0;i1<(childList.getLength()-1)/2;i1++){ System.out.print("第"+(i1+1)+"个子节点名称"+childList.item(i1*2+1).getNodeName()+" "); System.out.println("节点值为"+childList.item(i1*2+1).getFirstChild().getNodeValue()); } // Element eld=(Element) bookList.item(i); // System.out.println(eld.getAttribute("id"));//已知属性名,直接获取属性值 } }}查看全部
-
获取指定节点的节点属性及属性值 1.Document 类的getElementByTagName(String f)方法获取名称为f的所有节点属性值集合(返回值为NodeList类型) 语法格式:NodeList dc=dooc.getElenmentByTagName("book"); 2.NodeList类的item(int i)可以访问下表为i的节(返回值为Node类型) 语法格式:Node nd=dc.item(i); 3.Node类的getAttributes()可以获取节点Node属性的集合(返回NamedNodeMap类型) 语法格式:NamedNodeMap nnm=nd.getAtrributes(); 之后就可以通过nnm.item(int i)的方法遍历所有属性值查看全部
-
创建xml解析对象过程(目的:获取节点名,节点值,属性名,属性值) 过程: 1.创建DocumentBuilderFactory对象 语法格式:DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance; 2.创建DocumentBuilder对象(用DocumentBuilerFactory的newDocumentBuilderFactotry方法) 语法格式:DocumentBuilder doc=dbf.newDocumentBuilder() 3.创建Document对象接受用DocumentBuilder类的parse(String x)方法创建的对象 语法格式:Document doo=doc.parse("e:\\books.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查看全部
-
用SAX方法解析XML文件时,重写DefalutHandler的实现类对象的startElement()方法,可以在其中进行对节点属性的解析操作。 1、在已知节点元素下属性的名称的情况下获取对应的属性值: 用getValue("id");方法 2、在不知道节点元素下属性的名称与数量的情况下获取属性值: 先用attributes.getLength();方法获取其中属性的数量然后通过for循环来进行操作 再通过getQName(int index);来获取属性名,getValue(index);来获取对应的属性值查看全部
-
* 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()获取属性值 边读取时边用对象储存查看全部
-
XML的作用: 1)可以实现不用应用程序之间的通信 2)可以实现不同平台之间的通信 3)可以实现不同平台之间数据的共享 4)可以实现信息存储(MSN的聊天记录)查看全部
-
java程序 如何获取xml文件中的内容: 解析xml文件:在java程序中读取xml文件的过程 解析的目的:获取节点名、节点值、属性名、属性值 解析的方法: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包查看全部
-
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:树形结构查看全部
-
节点类型查看全部
-
XML的作用: 1)可以实现不用应用程序之间的通信 2)可以实现不同平台之间的通信 3)可以实现不同平台之间数据的共享 4)可以实现信息存储(MSN的聊天记录)查看全部
-
SAX解析图解查看全部
-
XML的作用: 1)可以实现不用应用程序之间的通信 2)可以实现不同平台之间的通信 3)可以实现不同平台之间数据的共享 4)可以实现信息存储(MSN的聊天记录)查看全部
-
sax方式解析 1、获得SAXParserFactory实例:SAXParserFactory.newInstance() 2、获得parser实例:SAXParserFactory实例.newSAXParser() 3、获得handler实例:新建类继承DefaultHandler,重写startElement和endElement方法进行业务处理查看全部
举报
0/150
提交
取消