📄 xmltest.java
字号:
/*
* 创建日期 2007-5-30
*
* 更改所生成文件模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
package xml;
/**
* @author qzj
*
* 更改所生成类型注释的模板为
* 窗口 > 首选项 > Java > 代码生成 > 代码和注释
*/
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
import xml.scienceResult;
public class XmlTest {
int num;
public scienceResult[] sr;
public void xml(String url){
try {
//创建解析工厂
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
//指定DocumentBuilder
DocumentBuilder builder = dbfactory.newDocumentBuilder();
//从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了
Document doc = builder.parse(new File(url));
//得到Document的根(节点名:book)
Element root = doc.getDocumentElement();
System.out.println("根节点标记名:" + root.getTagName());
System.out.println("*****下面遍历XML元素*****");
//获得result元素
NodeList list = root.getElementsByTagName("result");
sr=new scienceResult[list.getLength()];//声明元数据数组对象
num=list.getLength();
//遍历result元素
for (int i=0; i < list.getLength() ; i++) {
//获得result的元素
Element element = (Element)list.item(i);
//获得ID属性
String id = element.getAttribute("id");
//获得GTitle属性
NodeList titleList = element.getElementsByTagName("GTitle");
//获得GTitle元素
Element titleElement = (Element)titleList.item(0);
//获得GTitle元素的第一个值
String gtitle = titleElement.getFirstChild().getNodeValue();
//获得GTaxonomy元素名称
NodeList fileList = element.getElementsByTagName("GTaxonomy");
//获得GTaxonomy元素
Element fileElement = (Element)fileList.item(0);
//获得GTaxonomy元素的第一个值
String gtaxonomy = fileElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList addrList = element.getElementsByTagName("gaddressidentifier");
//获得GTitle元素
Element addrElement = (Element)addrList.item(0);
//获得GTitle元素的第一个值
String addr = addrElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList decrList = element.getElementsByTagName("GDescription");
//获得GTitle元素
Element decrElement = (Element)decrList.item(0);
//获得GTitle元素的第一个值
String decr = decrElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList placeList = element.getElementsByTagName("equipmentproduceplace");
//获得GTitle元素
Element placeElement = (Element)placeList.item(0);
//获得GTitle元素的第一个值
String place = placeElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList mnfList = element.getElementsByTagName("equipmentmanufacturer");
//获得GTitle元素
Element mnfElement = (Element)mnfList.item(0);
//获得GTitle元素的第一个值
String mnf = mnfElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList dateList = element.getElementsByTagName("equipmentpurchasedate");
//获得GTitle元素
Element dateElement = (Element)dateList.item(0);
//获得GTitle元素的第一个值
String date = dateElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList idtList = element.getElementsByTagName("guridentifier");
//获得GTitle元素
Element idtElement = (Element)idtList.item(0);
//获得GTitle元素的第一个值
String idt = idtElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList typeList = element.getElementsByTagName("gtype");
//获得GTitle元素
Element typeElement = (Element)typeList.item(0);
//获得GTitle元素的第一个值
String type = typeElement.getFirstChild().getNodeValue();
//获得GTitle属性
NodeList modelList = element.getElementsByTagName("equipmentmodel");
//获得GTitle元素
Element modelElement = (Element)modelList.item(0);
//获得GTitle元素的第一个值
String model = modelElement.getFirstChild().getNodeValue();
System.out.println("共有"+list.getLength()+"条记录");
System.out.println(
"标题:" + gtitle + " " +
"文件:" + gtaxonomy);
sr[i]=new scienceResult();
sr[i].setGTitle(gtitle);
sr[i].setGTaxonomy(gtaxonomy);
sr[i].setGaddressidentifier(addr);
sr[i].setGDescription(decr);
sr[i].setEquipmentproduceplace(place);
sr[i].setEquipmentmanufacturer(mnf);
sr[i].setEquipmentpurchasedate(date);
sr[i].setGuridentifier(idt);
sr[i].setGtype(type);
sr[i].setEquipmentmodel(model);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
XmlTest tt=new XmlTest();
tt.xml("e:/workspace/metadata/test.xml");
for (int i=0; i < tt.num ; i++) {
System.out.println(tt.sr[i].getGTitle());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -