-
DOM4J解析xml //解析books.xml文件 //创建SAXReader的对象reader SAXReader reader = new SAXReader(); try {//通过reader对象的read方法加载books.xml文件,获取document对象 Document document = reader.read(new File("books.xml")); //通过document对象,获取根节点bookStore Element bookStore = document.getRootElement(); //通过element对象的elementIterator方法获取迭代器 Iterator it = bookStore.elementIterator(); //遍历迭代器,获取根节点中的信息 while (it.hasNext()) { System.out.println("开始遍历"); Element book = (Element) it.next(); //获取Book的属性名和属性值 List<Attribute> bookAttrs = book.attributes(); for (Attribute attr : bookAttrs) { System.out.println("节点名" + attr.getName() + "节点值" + attr.getValue()); } System.out.println("结束遍历"); } } catch (DocumentException e) { e.printStackTrace(); }查看全部
-
通过startElement和endElement方法来标志进行节点本身属性的开始与结束读取 通过startDocument和endDocument方法来标志对XML文件的开始与结束读取 通过characters方法来进行对节点本身内容的读取查看全部
-
使用characters()方法获取节点值:String value = new String(ch,start,length); 再去除解析时多余空格 if(!value.trim().equals("")){ System.out.println(value); } 使用 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); } }查看全部
-
//开始解析book元素的属性 if(qName.equals("book")) { //已知booke元素下属性的名称,根据属性名称获取属性值 String value = attributes.getValue("id"); System.out.println("book的属性值是:"+value); //不知道book元素下属性的名称以及个数,如何获取属性名及属性值 int num = attributes.getLength(); for(int i = 0; i < num; i++) { System.out.print("book元素的第"+(i+1)+"个属性是:"+attributes.getQName(i)); System.out.println("---属性值是:"+attributes.getValue(i)); } }查看全部
-
SAX方式解析xml准备步骤查看全部
-
1.空白和换行也当做子节点 2.childNodes.item(k)代表个第K个子节点 解析节点名与值: 1、获取节点集合:元素.getChildNodes(); 2、获取所有节点名:遍历节点集合,节点.getNodeName() 3、获取节点值:节点.getFirstChild().getNodeValue()或节点.getTextContent() 获取节点之间的值有两种方法: getFirstChild().getNodeValue();获取节点下第一个子节点,并取得其中的内容。如果第一个子节点还是一个包含内容的节点,则会获取到null,如果是文字,则会直接显示出来 getTextContent();直接获取节点下的所有内容,无论其是节点还是文本,一律将其中的文本和节点中的文本显示出来查看全部
-
常用的节点类型 已经知道标签节点中有且只有1个id属性 //前提:已经知道book节点有且只能有1个id属性 // //将book节点进行强制类型转换,转换成Element类型 // Element book = (Element) bookList.item(i); // //通过getAttribute("id")方法获取属性值 // String attrValue = book.getAttribute("id"); // System.out.println("id属性的属性值为" + attrValue); ----------------------------------------------------------------- 不知道标签中有多少个id属性的时候 //解析book节点的子节点 NodeList childNodes = book.getChildNodes(); //遍历childNodes获取每个节点的节点名和节点值(这里省略了一个for循环遍历) System.out.println("第" + (i + 1) + "本书共有" + childNodes.getLength() + "个子节点");查看全部
-
DOM方式解析xml步骤 - 准备工作查看全部
-
解析xml文件 - 在Java程序中读取xml文件的过程 解析目的 - 获取节点名,节点值,属性名,属性值 Dom和SAX解析 - 官方提供的解析方式,不需要额外jar包 Dom4j和Jdom需要导入额外的jar包查看全部
-
java程序中解析XML文件的方法:DOM,SAX,DOM4J,JDOM查看全部
-
XML文件用来存储数据和传输数据,不同系统、不同软件、不同平台间通信使用xml文件。查看全部
-
学习:第二章 2-2查看全部
-
记录: 创建.xml文件时,记得保存类型为“UTF-8”;与.xml文件设置的一致。查看全部
-
常用节点类型查看全部
-
在代码迁移过程中,会存在jar等引入的包丢失的情况。 所以在我们引入包的时候,最好的方法是在工程下创建libs的文件夹,将需要导入的包复制粘贴大文件夹下,在进行导入,此时进行工程迁移时,就不用担心jar丢失的问题查看全部
举报
0/150
提交
取消