您当前的位置:首页 > 互联网教程

Java中,Enumeratation+elements()方法用于什么类

发布时间:2025-05-20 00:32:18    发布人:远客网络

Java中,Enumeratation+elements()方法用于什么类

一、Java中,Enumeratation+elements()方法用于什么类

1、在Java中,Enumeration和elements()方法主要用于枚举(Enumeration)接口的实现类。Enumeration是Java中一个早期的接口,用于遍历集合或序列中的元素,它只有两个方法:hasMoreElements()和nextElement(),用于检查是否还有更多的元素和获取下一个元素。

2、在Java中,许多集合类都实现了Enumeration接口,例如Vector、Hashtable等。这些类都提供了一个elements()方法,该方法返回一个Enumeration对象,可以用来遍历集合中的元素。

3、例如,以下是一个使用Enumeration和elements()方法遍历Vector对象中元素的示例代码:

4、在上面的示例中,我们首先创建了一个Vector对象,并向其中添加了三个元素。然后,我们使用elements()方法获取了一个Enumeration对象,并在while循环中使用hasMoreElements()和nextElement()方法遍历了Vector对象中的所有元素,并将它们打印到控制台上。

5、总之,Enumeration和elements()方法用于遍历集合或序列中的元素,可以在许多集合类中使用,例如Vector、Hashtable等。

二、java 关于读取xml文件的问题

dom4j需要一个jar包网上有下载一搜很多的。

1.读取XML文件,获得document对象。

SAXReader reader= new SAXReader();

Document document= reader.read(new File("input.xml"));

2.解析XML形式的文本,得到document对象。

String text="<members></members>";

Document document= DocumentHelper.parseText(text);

Document document= DocumentHelper.createDocument();

Element root= document.addElement("members");//创建根节点

Element rootElm= document.getRootElement();

Element memberElm=root.element("member");//"member"是节点名

String text=memberElm.getText();也可以用:

String text=root.elementText("name");这个是取得根节点下的name字节点的文字

4.取得某节点下名为"member"的所有字节点并进行遍历

List nodes= rootElm.elements("member");

for(Iterator it= nodes.iterator(); it.hasNext();){

Element elm=(Element) it.next();

5.对某节点下的所有子节点进行遍历。

for(Iterator it=root.elementIterator();it.hasNext();){

Element element=(Element) it.next();

Element ageElm= newMemberElm.addElement("age");

parentElm.remove(childElm);// childElm是待删除的节点,parentElm是其父节点

Element root=document.getRootElement();

Attribute attribute=root.attribute("size");//属性名name

String text=attribute.getText();也可以用:

String text2=root.element("name").attributeValue("firstname");这个是取得根节点下name字节点的属性firstname的值

Element root=document.getRootElement();

for(Iterator it=root.attributeIterator();it.hasNext();){

Attribute attribute=(Attribute) it.next();

String text=attribute.getText();

newMemberElm.addAttribute("name","sitinspring");

Attribute attribute=root.attribute("name");

attribute.setText("sitinspring");

Attribute attribute=root.attribute("size");//属性名name

三、java怎样读取html文件

java读取html文件跟读取普通文件一样,都是使用输入输出流,但是java读取html文件之后还需要解析,使用Jsoup对html进行解析。下面是一个java读取带表格的任意html文件,并把html文件转换成excel的例子。

要求:要求能够实现给出任意带table表格的html文件,生成与表格相同内容的excel文件,附件可以作为测试文件,提供给定的roster.html文件,通过java代码,实现生成与html页面的table相同样式的roster.xls文件。

importjxl.write.WritableCellFormat;

importjxl.write.WritableSheet;

importjxl.write.WritableWorkbook;

importjxl.write.WriteException;

importjxl.write.biff.RowsExceededException;

importorg.jsoup.nodes.Document;

importorg.jsoup.nodes.Element;

importorg.jsoup.select.Elements;

publicstaticvoidmain(Stringargs[])throwsIOException{

///读取classpath目录下面的路径

Stringpath=HTMLTOExcel.class.getResource("/").getPath();

//得到Document并且设置编码格式

publicstaticDocumentgetDoc(StringfileName)throwsIOException{

Documentdoc=Jsoup.parse(myFile,"GBK","");

///这个方法用于根据trs行数和sheet画出整个表格

publicstaticvoidmergeColRow(Elementstrs,WritableSheetsheet)throwsRowsExceededException,WriteException{

for(inti=0;i<trs.size();i++){

Elementstds=tr.getElementsByTag("td");

for(intj=0;j<tds.size();j++){

realColNum=getRealColNum(rowhb,i,realColNum);

rowspan=Integer.parseInt(td.attr("rowspan"));

colspan=Integer.parseInt(td.attr("colspan"));

drawMegerCell(rowspan,colspan,sheet,realColNum,i,text,rowhb);

realColNum=realColNum+colspan;

///这个方法用于根据样式画出单元格,并且根据rowpan和colspan合并单元格

publicstaticvoiddrawMegerCell(introwspan,intcolspan,WritableSheetsheet,intrealColNum,intrealRowNum,Stringtext,int[][]rowhb)throwsRowsExceededException,WriteException{

Labellabel=newLabel(realColNum+j,realRowNum+i,text);

WritableFontcountents=newWritableFont(WritableFont.TIMES,10);//设置单元格内容,字号12

WritableCellFormatcellf=newWritableCellFormat(countents);

cellf.setAlignment(jxl.format.Alignment.CENTRE);//把水平对齐方式指定为居中

cellf.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);//把垂直对齐方式指定为居

rowhb[realRowNum+i][realColNum+j]=1;

sheet.mergeCells(realColNum,realRowNum,realColNum+colspan-1,realRowNum+rowspan-1);

publicstaticintgetRealColNum(int[][]rowhb,inti,intrealColNum){

while(rowhb[i][realColNum]!=0){

///根据colgroups设置表格的列宽

publicstaticvoidsetColWidth(Elementscolgroups,WritableSheetsheet){

Elementcolgroup=colgroups.get(0);

Elementscols=colgroup.getElementsByTag("col");

for(inti=0;i<cols.size();i++){

Stringstrwd=col.attr("width");

intwd=Integer.parseInt(strwd);

//toExcel是根据html文件地址生成对应的xls

publicstaticvoidtoExcel(StringfileName,StringexcelName)throwsIOException{

///得到样式,以后可以根据正则表达式解析css,暂且没有找到cssparse

Elementsstyle=doc.getElementsByTag("style");

///得到Table,demo只演示输入一个table,以后可以用循环遍历tables集合输入所有table

Elementstables=doc.getElementsByTag("TABLE");

Elementstrs=table.getElementsByTag("tr");

Elementscolgroups=table.getElementsByTag("colgroup");

Stringpath=HTMLTOExcel.class.getResource("/").getPath();

WritableWorkbookbook=Workbook.createWorkbook(newFile(path));

WritableSheetsheet=book.createSheet("人事关系",0);

}catch(RowsExceededExceptione){

}

解析html文件的例子文档地址:

解析html文件的例子文档地址: