使用DOMParser 解析xml的Java代码
2018-07-20 来源:open-open
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; } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐