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