天天看點

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) {

  }

 }

 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

list.jsp