w3c.dom组件xml解析实例

简介:

w3c.dom组件xml解析实例

 

package com.yanek.demo.xml.test;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import com.sun.org.apache.xerces.internal.parsers.DOMParser;

public class DOMParserBean {

 /**
  * @param args
  */
 public static void main(String[] args) {

  /***********************************************************************
   * <?xml version="1.0" encoding="UTF-8"?> <actions><action path="/test"
   * class="com.mystruts.demo.LoginAction"><forward name="success"
   * url="hello.jsp"/><forward name="fail" url="fail.jsp"/></action><action
   * path="/user" class="com.mystruts.demo.UserAction"><forward
   * name="success" url="list.jsp"/><forward name="fail" url="fail.jsp"/></action></actions>
   */
  try {
   Document document = DOMParserBean.getDocument("d://mystruts.xml");

   NodeList actions = document.getElementsByTagName("action");
   int size = actions.getLength();

   Map result = new HashMap();

   for (int i = 0; i < size; i++) {
    Element xml_action = (Element) actions.item(i);

    System.out.println("class=" + xml_action.getAttribute("class"));
    System.out.println("path=" + xml_action.getAttribute("path"));

    NodeList xml_forwards = xml_action
      .getElementsByTagName("forward");

    for (int j = 0; j < xml_forwards.getLength(); j++) {
     Element forward = (Element) xml_forwards.item(j);

     System.out.println(forward.getAttribute("name"));
     System.out.println(forward.getAttribute("url"));

    }

   }

  } catch (SAXException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

 private DOMParserBean() {
 } // disallow instantiation

 public static Document getDocument(String file) throws SAXException,
   IOException {
  DOMParser parser = new DOMParser();
  parser.parse(new InputSource(new FileInputStream(file)));
  return parser.getDocument();
 }

}

输出:

 

class=com.mystruts.demo.LoginAction
path=/test
success
hello.jsp
fail
fail.jsp
class=com.mystruts.demo.UserAction
path=/user
success
list.jsp
fail
fail.jsp

 

 

 

目录
相关文章
|
3天前
|
XML JavaScript 数据格式
XML DOM - 导航节点
在XML DOM中,节点导航涉及利用如parentNode、childNodes、firstChild、lastChild、nextSibling和previousSibling等属性。通过这些关系,可以访问和操作XML文档结构。例如,给定一个XML文档,可以使用getElementsByTagName找到特定元素,并通过parentNode属性获取该元素的父节点。在提供的实例中,代码加载&quot;books.xml&quot;,选取第一个&lt;book&gt;元素,并打印出其父节点的名称。
|
3天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的DOM节点树。通过循环节点,可以访问并处理每个元素,如提取值。示例代码展示了加载XML字符串到`xmlDoc`后,遍历根元素的所有子节点,打印出节点名及文本值,例如:&quot;title: Everyday Italian&quot;、&quot;author: Giada De Laurentiis&quot;和&quot;year: 2005&quot;。
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
浏览器内置的XML解析器将XML转换为JavaScript可操作的DOM对象。通过XMLHttpRequest加载XML文档,如`books.xml`,创建HTTP请求并获取响应,然后将响应解析为XML DOM,以便用JavaScript访问和处理。示例代码展示了在不同浏览器中如何使用XMLHttpRequest加载XML。
|
2天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML解析器将XML转换为JavaScript可操作的DOM对象,使得浏览器(大多内置此解析器)能读取和处理XML。通过XMLHttpRequest对象,可以加载XML文档,如示例所示,创建HTTP请求获取&quot;books.xml&quot;,然后将响应转化为DOM对象以进行访问和操作。
|
3天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法用于访问 XML 文档中的节点,返回一个节点列表(Node List),类似数组。可通过循环或导航节点关系来遍历和访问这些节点。示例代码加载 &quot;books.xml&quot; 到 xmlDoc,将结果存入变量 x。
|
3天前
|
XML Web App开发 JavaScript
XML DOM 解析器
浏览器内置XML解析器,用于读取和操作XML。它将XML转化为XML DOM,允许JavaScript访问、修改节点。以下JS代码示例加载&quot;books.xml&quot;到DOM对象:检查浏览器支持,创建XMLHttpRequest或ActiveXObject,打开GET请求,发送并获取响应,将响应转换为XML DOM。
|
3天前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
该文介绍了如何遍历XML文档的节点树。通过循环移动,可以访问每个元素并提取其值。示例代码展示了一个XML文档的遍历过程,输出了所有子节点的名称和值,如&quot;title: Everyday Italian&quot;等。首先加载XML到xmlDoc,然后获取根元素的子节点,并依次打印节点名及文本内容。
|
3天前
|
XML 存储 JavaScript
XML DOM - 访问节点
`getElementsByTagName()` 方法从 `xmlDoc` 加载 &quot;books.xml&quot;,创建一个包含匹配节点的节点列表。该列表可遍历以访问每个节点,实现对 XML 文档的节点访问和导航。
|
3天前
|
XML JavaScript 数据格式
XML DOM 浏览器差异
不同的浏览器对XML DOM解析存在差异,尤其是在处理节点间的空白和换行上。例如,Internet Explorer不将这些空白视为文本节点,而其他浏览器则会。在示例中,一个XML文档有9个子节点(包括空白和换行),IE显示为4个,而其他浏览器显示为9个。加载XML文件到DOM后,通过输出子节点数量可观察到这一差异。
|
3天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML解析器是浏览器内置的工具,用于将XML转换为JavaScript可操作的XML DOM对象。这个DOM包含遍历、修改XML节点的函数。首先,XML文档需加载到DOM中,通过XMLHttpRequest对象实现,如示例所示:根据浏览器类型创建XMLHTTP对象,打开并发送GET请求到服务器获取&quot;books.xml&quot;,然后将响应转化为DOM对象。

推荐镜像

更多