亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我已用dom4J解析好了xml 接下來我要用反射將其放入實體類輸出 該如何寫?剛學反射的萌新求教

解析代碼:

package com.xml;



import java.io.File;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;


import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;



public class Dom4j2 {


private static Map<String,String> map=new HashMap<String,String>();

public static Map<String,String> parseXml(File filePath)throws DocumentException{

Map<String,String>mapEle=new HashMap<String,String>();

SAXReader reader=new SAXReader();

Document document=reader.read(filePath);

Element root=document.getRootElement();

List<Element>elementList=root.elements();

? Iterator<Element> it=elementList.iterator();

? while(it.hasNext()){

? Element element=it.next();

? mapEle=printEle(element);

? }

return mapEle;

}

private static Map<String,String> printEle(Element ele) {

if(ele.elements().size()==0){

Element name=ele.getParent();

System.out.println(name.attributeValue("name")+"="+ele.getText());

? ?map.put(ele.getParent().getName(), ele.getText());

? ?System.out.println("\t");

}else{

List<Element>elementList=ele.elements();

Iterator<Element>it=elementList.iterator();

while(it.hasNext()){

printEle(it.next());

}

}

return map;

}

/**

* @param args

*/

public static void main(String[] args) {


File file =new File("src/res/peopleList.xml");

Map<String,String> mapELeList=new HashMap<String,String>();

try{

mapELeList=Dom4j2.parseXml(file);

Iterator<java.util.Map.Entry<String,String>> it=mapELeList.entrySet().iterator();

while(it.hasNext()){

java.util.Map.Entry<String,String> entry=it.next();

System.out.println(entry.getKey()+".."+entry.getValue());

}

}catch (DocumentException e) {

e.printStackTrace();

}

}


}

實體類

package com.xml;


public class People {

? ?private String position;

? ?private String name;

? ?private String FullName;

? ?private String dept;

? ?private String role;

? ?private String duty;

? ?private String wkgp;

public String getPosition() {

return position;

}

public void setPosition(String position) {

this.position = position;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getFullName() {

return FullName;

}

public void setFullName(String fullName) {

FullName = fullName;

}

public String getDept() {

return dept;

}

public void setDept(String dept) {

this.dept = dept;

}

public String getRole() {

return role;

}

public void setRole(String role) {

this.role = role;

}

public String getDuty() {

return duty;

}

public void setDuty(String duty) {

this.duty = duty;

}

public String getWkgp() {

return wkgp;

}

public void setWkgp(String wkgp) {

this.wkgp = wkgp;

}

@Override ??

public String toString(){?

?return "people[position="+position+",name="+name+",FullName="+FullName+",dept="+dept+",role="+role+",duty="+duty+"]"+"\n";

}

}


正在回答

2 回答

是的,你既然想用反射注入實體,那么就可以獲取反射的構造方法,調用就行。這算是一種方法,然后解析XML就是屬于另外的一個功能

0 回復 有任何疑惑可以回復我~
#1

qq_飛翔的勇氣_0 提問者

非常感謝!
2018-08-28 回復 有任何疑惑可以回復我~
#2

qq_飛翔的勇氣_0 提問者

老哥,能不能來點代碼例子
2018-08-28 回復 有任何疑惑可以回復我~

你完全可以考慮用反射獲取實體對象的構造方法,然后通過反射調用實體對象的構造方法,將參數傳入到實體對象中

0 回復 有任何疑惑可以回復我~
#1

qq_飛翔的勇氣_0 提問者

意思就是解析和反射一起進行?
2018-08-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
反射——Java高級開發必須懂的
  • 參與學習       151656    人
  • 解答問題       343    個

反射,Java高級開發必須要懂的知識點,學好Java高級課程的基礎

進入課程

我已用dom4J解析好了xml 接下來我要用反射將其放入實體類輸出 該如何寫?剛學反射的萌新求教

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號