java

位置:IT落伍者 >> java >> 浏览文章

JAVA读取xml文件中节点值


发布日期:2019年06月19日
 
JAVA读取xml文件中节点值

import orgwcdom*;

import javaxxmlparsers*;

import javaio*;

public class Parse{

//Document可以看作是XML在内存中的一个镜像那么一旦获取这个Document 就意味着可以通过对

//内存的操作来实现对XML的操作首先第一步获取XML相关的Document

private Document doc=null;

public void init(String xmlFile) throws Exception{

//很明显该类是一个单例先获取产生DocumentBuilder工厂

//的工厂在通过这个工厂产生一个DocumentBuilder

//DocumentBuilder就是用来产生Document的

DocumentBuilderFactory dbf=DocumentBuilderFactorynewInstance();

DocumentBuilder db=dbfnewDocumentBuilder();

//这个Document就是一个XML文件在内存中的镜像

doc=dbparse(new File(xmlFile));

}

//该方法负责把XML文件的内容显示出来

public void viewXML(String xmlFile) throws Exception{

thisinit(xmlFile);

//在xml文件里只有一个根元素先把根元素拿出来看看

Element element=docgetDocumentElement();

Systemoutprintln(根元素为:+elementgetTagName());

NodeList nodeList=docgetElementsByTagName(dbstore);

Systemoutprintln(dbstore节点链的长度:+nodeListgetLength());

Node fatherNode=em();

Systemoutprintln(父节点为:+fatherNodegetNodeName());

//把父节点的属性拿出来

NamedNodeMap attributes=fatherNodegetAttributes();

for(int i=;i<attributesgetLength();i++){

Node attribute=em(i);

Systemoutprintln(dbstore的属性名为:+attributegetNodeName()+ 相对应的属性值为:+attributegetNodeValue());

}

NodeList childNodes = fatherNodegetChildNodes();

Systemoutprintln(childNodesgetLength());

for(int j=;j<childNodesgetLength();j++){

Node childNode=em(j);

//如果这个节点属于Element 再进行取值

if(childNode instanceof Element){

//Systemoutprintln(子节点名为:+childNodegetNodeName()+相对应的值为+childNodegetFirstChild()getNodeValue());

Systemoutprintln(子节点名为:+childNodegetNodeName()+相对应的值为+childNodegetFirstChild()getNodeValue());

}

}

}

public static void main(String[] args)throws Exception{

Parse parse=new Parse();

//我的XML文件

parseviewXML(netctxml);

}

}

               

上一篇:Rails 开发与 Java 编程的比较

下一篇:重用java.util.Observable类