import java.io.*;
import java.net.*;
import org.w3c.dom.*;
import org.w3c.dom.Node.*;
import oracle.xml.parser.v2.*;
/**
* -----------------------------------------------------------------------------
* Demonstrate how to use DOM.
*
* @version 1.0
* @author Jeffrey M. Hunter (jhunter@idevelopment.info)
* @author http://www.idevelopment.info
* -----------------------------------------------------------------------------
*/
public class DOMExample {
/*
* +---------------------------------------------+
* | METHOD: main |
* +---------------------------------------------+
*/
static public void main(String[] argv) {
try {
if (argv.length != 1) {
// must pass in the name of the XML file
System.err.println("Usage: java DOMExample filename");
System.exit(1);
}
// Get an instance of the parser
DOMParser parser = new DOMParser();
// Generate a URL from the filename
URL url = createURL(argv[0]);
// Set various parser options; validation on,
// warnings shown, error stream set to stderr.
parser.setErrorStream(System.err);
parser.setValidationMode(true);
parser.showWarnings(true);
// parse the document
parser.parse(url);
// Obtain the document
XMLDocument doc = parser.getDocument();
// print document elements
System.out.print("The elements are: ");
printElements(doc);
// print document elements attributes
System.out.println("The attributes of each element are: ");
printElementAttributes(doc);
} catch (Exception e) {
System.out.println(e.toString());
}
}
/*
* +---------------------------------------------+
* | METHOD: printElements |
* +---------------------------------------------+
*/
static void printElements(Document doc) {
NodeList nodelist = doc.getElementsByTagName("*");
Node node;
for (int i=0; i<nodelist.getLength(); i++) {
node = nodelist.item(i);
System.out.print(node.getNodeName() + " ");
}
System.out.println();
}
/*
* +---------------------------------------------+
* | METHOD: printElementAttributes |
* +---------------------------------------------+
*/
static void printElementAttributes(Document doc) {
NodeList nodelist = doc.getElementsByTagName("*");
Node node;
Element element;
NamedNodeMap nnm = null;
String attrname;
String attrval;
int i, len;
len = nodelist.getLength();
for (int j=0; j < len; j++) {
element = (Element)nodelist.item(j);
System.out.println(element.getTagName() + ":");
nnm = element.getAttributes();
}
if (nnm != null) {
for (i=0; i<nnm.getLength(); i++) {
node = nnm.item(i);
attrname = node.getNodeName();
attrval = node.getNodeValue();
System.out.println(" " + attrname + " = " + attrval);
}
}
System.out.println();
}
/*
* +---------------------------------------------+
* | METHOD: createURL |
* +---------------------------------------------+
*/
static URL createURL(String filename) {
URL url = null;
try {
url = new URL(filename);
} catch (MalformedURLException ex) {
try {
File f = new File(filename);
url = f.toURL();
} catch (MalformedURLException e) {
System.out.println("Cannot create URL for: " + filename);
System.exit(0);
}
}
return url;
}
}
以上就是java DOMParser 解析xml的实例详解的详细内容,更多请关注php中文网其它相关文章!
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
程序员必备接口测试调试工具:点击使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
网页生成APP,用做网站的技术去做APP:立即创建
手机网站开发APP、自助封装APP、200+原生模块、2000+映射JS接口按需打包
相关文章
相关视频