java ssssss_javassssss
package csm.doxml;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.*;
import java.util.ArrayList;
/*读取xml文件并返回根结点,第一个子结点名字,第一个子结点的属性列*
*
**/
public class ReadXmlF{
public Element root=null;/*根结点*/
public String type=null;/*第一个结点类型名字*/
public ArrayList subNodeList=new ArrayList();/*子结点类型名字*/
String filename="product.xml";
ArrayList LevelOne=new ArrayList();
public ReadXmlF(){}
public ReadXmlF(String filenames){
filename=filenames;
}
protected int readXML()throws Exception{
/*创建文档实例*/
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=null;
NodeList children=null;/*子结点的子结点*/
try{
db=dbf.newDocumentBuilder();
}catch(ParserConfigurationException e1){
printf(":"+e1.getMessage());
return -1;
}
Document doc=null;
try{
doc=db.parse(filename);
}
catch(DOMException e2){
printf(":"+e2.getMessage());
return -2;
}
catch(Exception e3){
printf(e3.getMessage());
return -3;
}
/*开始取根*/
root=doc.getDocumentElement();
/*取第一个子结点类型*/
if(root!=null)
{
children=root.getChildNodes();
int len=children.getLength();
printf("root.length=:"+String.valueOf(len));
if(children.getLength()>0)//nodelist下标从1开始
for(int k=0;(2*k+1){
type=String.valueOf(children.item(2*k+1).getNodeName());
LevelOne.add(type);
}
}
/*再取第二层结点的子结点*/
Node peak = children.item(1);
for (int j=1; j {
String typename=String.valueOf(peak.getChildNodes().item(j++).getNodeName());
subNodeList.add(typename);
/**/printf("ch3:"+typename);
}
return 1;
}
/*返回第一层子结点名字*/
public ArrayList getFirstType(){
if(LevelOne.size()>0) return LevelOne;
else return null;
}
/*返回第一层个子结点名字*/
protected ArrayList getSubNode(){
if(subNodeList.size()>0)return subNodeList;
return null;
}
/*返回根结点*/
protected Element getRoot(){
if(root!=null)return root;
return null;
}
private void printf(String content){
System.out.println(content);
}
public static void main(String[] args){
ReadXmlF rf=new ReadXmlF("test2.xml");
Element ro=null;
try{int flags=rf.readXML();
ArrayList a=rf.getFirstType();
System.out.println("s1="+a.size());
//for(int i=0;i// System.out.println("s1="+String.valueOf(a.get(i)));
//ro=rf.getRoot();
}catch(Exception e){}
if(ro==null)
System.out.println("ro is null");
else
System.out.println("ro is not null");
}
}
101
Kiran
Pai
22
12300
102
Bill
Gates
22
12300
103
Steve
Jobs
22
12300
104
joe
singh
25
6300
java ssssss_javassssss相关推荐
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常
kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
- OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3
OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...
- Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid
Gradle错误提示:Java home supplied via 'org.gradle.java.home' is invalid 描述:在使用idea采用gradle进行依赖的管理功能,当想切换 ...
- 查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码
java开发必知必会之看源码,而看源码的第一步则是找到源码
- java基本类型转换,随记
java基本类型转换: double double 转 long double random = Math.round(Math.random()*10000); long l = new Doubl ...
最新文章
- jdbc驱动_JDBC概述和CRUD
- 硕士论文评审记录2021年春季
- 不喜欢冷漠,喜欢笑容、热情和拥抱
- 写出现代计算机网络的三个方面的应用,《计算机应用基础》统考模拟试题一及参考答案0...
- 修改可选项文件实现自动连接数据库服务器
- WiFi 热点共享设置
- Java设计模式之策略模式---写的比较有趣,推荐大家看看
- Angular 根据指定条件动态决定是否显示自定义的popup hover Component
- zigbee与WiFi模块和蓝牙模块的区别是什么?
- android获取系统当前年月日时分秒的时间
- 读【重构】(3)——感悟重构——Decompose Conditional(分解条件式)
- #2009. 「SCOI2015」小凸玩密室
- python基础编程语法-Python基础语法介绍:面向对象编程(上)
- (好文章搬个砖)MySQL索引背后的数据结构及算法原理
- 消息队列简介-原理与应用
- zscore标准化步骤_数据的标准化
- 网易2017校招合唱团
- uWSGI, Gunincorn, 啥玩意儿?
- Vue-Waterfall-Easy插件详细使用教程
- html英文颜色大全,html英文颜色名称全集