`
低调衬着那一抹妖娆
  • 浏览: 30090 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java xml读取及生成 dom4j

阅读更多

1、接口

import org.dom4j.Document;

public interface NgsnConvertor {
	
	public Object Convert2Bean(Document ngsnBody);

	public Document Convert2Xml(Object obj);

}

 

2、公共方法

import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;

public abstract class NgsnConvertorAbstract implements NgsnConvertor {

	//根据xpath路径得到节点值,ex. /Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAcct/Id/SubAcct/Id/IBAN
	protected static String getBeanAttributeValue(Document doc, String xpath){
		String value = null;
		if(StringUtils.isBlank(xpath)){
			return value;
		}
		Element element = (Element) doc.selectSingleNode(xpath); 
		if(element!=null){
			value = element.getText();
		}
		return value;
	}

	//设置节点的值,/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAcct/Id/SubAcct/Id/IBAN = abc
	public static void setBeanAttributeValue(Document doc, String xpath, String value){
		if(StringUtils.isNotBlank(xpath)){
			String[] nodes = xpath.substring(1, xpath.length()).split("/");
			Node firstNode = doc.selectSingleNode(nodes[0]);
			Element element = doc.getRootElement();
			if(firstNode==null){
				element = doc.addElement(nodes[0]);
			}
			String nodePath = new String();
			for(String node : nodes){
				nodePath += "/"+node;
				Node n = element.selectSingleNode(nodePath);
				if(n == null){
					element = element.addElement(node);
				}else {
					element = (Element) element.selectSingleNode(nodePath);
				}
			}
			element.setText(value == null ? "" : value);
		}
	}
	
	//增加节点的属性,ex. /Document/FIToFICstmrCdtTrf/CdtTrfTxInf/DbtrSttlm/IntrBkSttlmAmt  Ccy=CNY 
	public static void setBeanAttribute(Document doc, String xpath, String name, String value, int number){
		if(StringUtils.isNotBlank(xpath)){
			Element element = (Element) doc.selectNodes(xpath).get(number);
			element.addAttribute(name, value);
		}
	}
	
	//增加List节点,ex. /Document/FIToFICstmrCdtTrf/CdtTrfTxInf/DbtrSttlm/IntrBkSttlmAmt 
	protected static void setBeanListAttribute(Document doc, String xpath){
		if(StringUtils.isNotBlank(xpath)){
			String[] nodes = xpath.substring(1, xpath.length()).split("/");
			Node firstNode = doc.selectSingleNode(nodes[0]);
			Element element = doc.getRootElement();
			if(firstNode==null){
				element = doc.addElement(nodes[0]);
			}
			String nodePath = new String();
			for(String node : nodes){
				nodePath += "/"+node;
				Node n = element.selectSingleNode(nodePath);
				if(n == null || node.equals(nodes[nodes.length-1])){
					element = element.addElement(node);
				}else {
					element = (Element) element.selectSingleNode(nodePath);
				}
			}
		}
	}
	
	//增加多层List节点,ex. /Document/FIToFICstmrCdtTrf/CdtTrfTxInf/DbtrSttlm/IntrBkSttlmAmt 
	protected static void setBeanListAttribute(Document doc, String xpath1, int i, String xpath2){
		Element element = (Element) getBeanListAttribute(doc,xpath1).get(i);
		if(StringUtils.isNotBlank(xpath2)){
			String[] nodes = xpath2.substring(1, xpath2.length()).split("/");
			String nodePath = new String();
			nodePath = xpath1;
			for(String node : nodes){
				nodePath += "/"+node;
				Node n = element.selectSingleNode(nodePath);
				if(n == null || node.equals(nodes[nodes.length-1])){
					element = element.addElement(node);
				}else {
					element = (Element) element.selectSingleNode(nodePath);
				}
			}
		}
	}
	
	//增加List节点属性,ex. /Document/FIToFICstmrCdtTrf/CdtTrfTxInf/DbtrSttlm/IntrBkSttlmAmt 
	protected static void setBeanListAttributeValue(Document doc, String xpath, String xpathList, String value, int number){
		if(StringUtils.isNotBlank(xpathList)){
			String[] nodes = xpathList.substring(1, xpathList.length()).split("/");
			List<Element> elements = doc.selectNodes(xpath);
			Element element = elements.get(number);
			for(String node : nodes){
				Element ele = element.element(node);
				if(ele != null){
					element = ele;
				}else{
					element = element.addElement(node);
				}
			}
			if(element!=null){
				element.setText(value == null ? "" : value);
			}
		}
	}
	
	//根据xpath得到list节点中节点值
	protected static String getBeanListAttributeValue(Document doc, String xpath, int number){
		String value = null;
		if(StringUtils.isBlank(xpath)){
			return value;
		}
		Element element = (Element) doc.selectNodes(xpath).get(number);
		if(element != null){
			value = element.getText();
		}
		return value;
	}
	
	//获取list节点
	protected static List<Element> getBeanListAttribute(Document doc, String xpath){
		List<Element> elementList = null;
		if(StringUtils.isBlank(xpath)){
			return elementList;
		}
		elementList =  doc.selectNodes(xpath);
		return elementList;
	}
	
	//获取节点属性值 
		public static String getBeanAttribute(Document doc, String xpath, String name, int number){
			String value = null;
			if(StringUtils.isNotBlank(xpath)){
				Element element = (Element) doc.selectNodes(xpath).get(number);
				value= element.attributeValue(name);
			}
			return value;
		}
}

 

3.1、简单 单循环 用法(样例)

import java.util.ArrayList;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class Convertor_Ngsn_916_001_01_Demo extends NgsnConvertorAbstract {
	@Override
	public Object Convert2Bean(Document ngsnBody) {
		ClearBookClearJournal clearBookClearJournal = new ClearBookClearJournal();
		clearBookClearJournal.setClearMessageId(getBeanAttributeValue(ngsnBody,"//NGSNClrRpt/MsgHdr/MsgId"));
		clearBookClearJournal.setClearAgentBic(getBeanAttributeValue(ngsnBody,"//NGSNClrRpt/MsgHdr/CreDtTm"));
	
		List<ClearTrxClearDetailRet> clearDetailList = new ArrayList<ClearTrxClearDetailRet>();
		List<Element> elementList = getBeanListAttribute(ngsnBody, "//NGSNClrRpt/Rpt/ClrInf/TxsSummry");
		for(int i=0;i<elementList.size();i++){
			ClearTrxClearDetailRet clearDetail = new ClearTrxClearDetailRet();
			clearDetail.setClearResultId(getBeanListAttributeValue(ngsnBody, "//NGSNClrRpt/Rpt/ClrInf/TxsSummry/SttlmDt", i));
			clearDetail.setClearBookClearJournalId(getBeanListAttributeValue(ngsnBody, "//NGSNClrRpt/Rpt/ClrInf/TxsSummry/DbtrSttlm/IntrBkSttlmAmt", i));
			clearDetail.setClearDate(getBeanListAttributeValue(ngsnBody, "//NGSNClrRpt/Rpt/ClrInf/TxsSummry/DbtrSttlm/IntrBkSttlmDt", i));
			clearDetailList.add(clearDetail);
		}

		clearBookClearJournal.setClearDetailList(clearDetailList);
		return clearBookClearJournal;
	}

	@Override
	public Document Convert2Xml(Object obj) {
		Document ngsnBody = DocumentHelper.createDocument();
		ClearBookClearJournal clearBookClearJournal = (ClearBookClearJournal)obj;
		
		setBeanAttributeValue(ngsnBody,"/Document/NGSNClrRpt/MsgHdr/MsgId",clearBookClearJournal.getClearMessageId());		
		setBeanAttributeValue(ngsnBody,"/Document/NGSNClrRpt/MsgHdr/CreDtTm",clearBookClearJournal.getClearAgentBic());
			
		List<ClearTrxClearDetailRet> clearDetailList = clearBookClearJournal.getClearDetailList();
		if(clearDetailList!=null && clearDetailList.size()>0){
			for(int i=0;i<clearDetailList.size();i++){
				ClearTrxClearDetailRet clearDetail = clearDetailList.get(i);
				//增加List父节点
				setBeanListAttribute(ngsnBody, "/Document/NGSNClrRpt/Rpt/ClrInf/TxsSummry");
				//增加List节点中的叶子节点并赋值
				setBeanListAttributeValue(ngsnBody,"/Document/NGSNClrRpt/Rpt/ClrInf/TxsSummry", "/SttlmDt", clearDetail.getClearResultId(), i);
				setBeanListAttributeValue(ngsnBody,"/Document/NGSNClrRpt/Rpt/ClrInf/TxsSummry","/DbtrSttlm/IntrBkSttlmAmt",clearDetail.getClearBookClearJournalId(), i);
				//给叶子节点增加属性
				setBeanAttribute(ngsnBody, "/Document/NGSNClrRpt/Rpt/ClrInf/TxsSummry/DbtrSttlm/IntrBkSttlmAmt", "Ccy", "CNY", i);
				setBeanListAttributeValue(ngsnBody,"/Document/NGSNClrRpt/Rpt/ClrInf/TxsSummry","/DbtrSttlm/IntrBkSttlmDt",clearDetail.getClearDate(), i);
			}
		}
		
		return ngsnBody;
	}
}

 

3.2、多层嵌套循环 用法(样例)

import java.math.BigDecimal;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;

/**
 * 交易汇总报文
 * 
 * @author
 * @Date 2016-11-03
 */
public class Convertor_Ngsn_167_001_01_Example extends NgsnConvertorAbstract {

	// 报文标识号
	private static final String MESSAGE_ID = "//TxSummaryNtfctn/MsgHdr/MsgId";
	// 报文发送时间
	private static final String CREATION_DATETIME = "//TxSummaryNtfctn/MsgHdr/CreDtTm";
	// 发起机构BIC
	private static final String INSTRUCTING_AGENT_BIC = "//TxSummaryNtfctn/MsgHdr/InstgAgt/FinInstnId/BICFI";
	// 发起机构LEI
	private static final String INSTRUCTING_AGENT_LEI = "//TxSummaryNtfctn/MsgHdr/InstgAgt/FinInstnId/LglNttId";
	// 发起机构号
	private static final String INSTRUCTING_AGENT_ID = "//TxSummaryNtfctn/MsgHdr/InstgAgt/FinInstnId/Othr/Id";
	// 接收机构BIC
	private static final String INSTRUCTED_AGENT_BIC = "//TxSummaryNtfctn/MsgHdr/InstdAgt/FinInstnId/BICFI";
	// 接收机构LEI
	private static final String INSTRUCTED_AGENT_LEI = "//TxSummaryNtfctn/MsgHdr/InstdAgt/FinInstnId/LglNttId";
	// 接收机构号
	private static final String INSTRUCTED_AGENT_ID = "//TxSummaryNtfctn/MsgHdr/InstdAgt/FinInstnId/Othr/Id";
	// 汇总日期
	private static final String FROM_DATETIME = "//TxSummaryNtfctn/Rpt/AggtdDt";
	// 汇总机构BIC
	private static final String SUMMARY_AGENT_BIC = "//TxSummaryNtfctn/Rpt/InstnInf/FinInstnId/BICFI";
	// 汇总机构LEI
	private static final String SUMMARY_AGENT_LEI = "//TxSummaryNtfctn/Rpt/InstnInf/FinInstnId/LglNttId";
	// 汇总机构号
	private static final String SUMMARY_AGENT_ID = "//TxSummaryNtfctn/Rpt/InstnInf/FinInstnId/Othr/Id";
	// 汇总币种
	private static final String SUMMARY_CURRENCY = "//TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/Ccy";
	// 汇总报文类型
	private static final String SUMMARY_MSGTYPE = "//TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgNmId";
	// 汇总报文状态
	private static final String SUMMARY_MSGSTATUS = "//TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/MsgSts";
	// 汇总发送报文总笔数
	private static final String SENDMSG_COUNT = "//TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry/TtlDlvrgNtries/NbOfNtries";
	// 汇总发送报文总金额
	private static final String SEND_AMOUNT = "//TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry/TtlDlvrgNtries/Sum";
	// 汇总接收报文总笔数
	private static final String RECMSG_COUNT = "//TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry/TtlRcvgNtries/NbOfNtries";
	// 汇总接收报文总金额
	private static final String REC_AMOUNT = "//TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry/TtlRcvgNtries/Sum";

	/**
	 * xml转Bean
	 * 
	 * @author
	 */
	@Override
	public Object Convert2Bean(Document ngsnBody) {
		// 报文业务信息登记簿
		CoreBookMessageBus msgBus = new CoreBookMessageBus();
		msgBus.setMessageId(getBeanAttributeValue(ngsnBody, MESSAGE_ID));// 报文标识号
		msgBus.setInstructingAgentBic(getBeanAttributeValue(ngsnBody, INSTRUCTING_AGENT_BIC));// 发起机构BIC
		msgBus.setInstructingAgentId(getBeanAttributeValue(ngsnBody, INSTRUCTING_AGENT_ID));// 发起机构号
		msgBus.setInstructedAgentBic(getBeanAttributeValue(ngsnBody, INSTRUCTED_AGENT_BIC));// 接收机构BIC
		msgBus.setInstructedAgentId(getBeanAttributeValue(ngsnBody, INSTRUCTED_AGENT_ID));// //接收机构号
		msgBus.setCreationDatetime(getBeanAttributeValue(ngsnBody, CREATION_DATETIME));// 报文发送时间

		// 交易汇总登记簿
		ClearBookTransSummary clearBookTransSummaryBean = new ClearBookTransSummary();
		clearBookTransSummaryBean.setMessageId(getBeanAttributeValue(ngsnBody, MESSAGE_ID)); // 报文标识号
		clearBookTransSummaryBean.setCreationDateTime(getBeanAttributeValue(ngsnBody, CREATION_DATETIME)); // 报文发送时间
		clearBookTransSummaryBean.setInstructingAgentBic(getBeanAttributeValue(ngsnBody, INSTRUCTING_AGENT_BIC));// 发起机构BIC
		clearBookTransSummaryBean.setInstructingAgentLei(getBeanAttributeValue(ngsnBody, INSTRUCTING_AGENT_LEI));// 发起机构LEI
		clearBookTransSummaryBean.setInstructingAgentId(getBeanAttributeValue(ngsnBody, INSTRUCTING_AGENT_ID)); // 发起机构号
		clearBookTransSummaryBean.setInstructedAgentBic(getBeanAttributeValue(ngsnBody, INSTRUCTED_AGENT_BIC)); // 接收机构BIC
		clearBookTransSummaryBean.setInstructingAgentLei(getBeanAttributeValue(ngsnBody, INSTRUCTED_AGENT_LEI)); // 接收机构LEI
		clearBookTransSummaryBean.setInstructedAgentId(getBeanAttributeValue(ngsnBody, INSTRUCTED_AGENT_ID)); // 接收机构号
		clearBookTransSummaryBean.setFromDatetime(getBeanAttributeValue(ngsnBody, FROM_DATETIME)); // 汇总日期
		clearBookTransSummaryBean.setSummaryAgentBic(getBeanAttributeValue(ngsnBody, SUMMARY_AGENT_BIC)); // 汇总机构BIC
		clearBookTransSummaryBean.setSummaryAgentLei(getBeanAttributeValue(ngsnBody, SUMMARY_AGENT_LEI)); // 汇总机构LEI
		clearBookTransSummaryBean.setSummaryAgentId(getBeanAttributeValue(ngsnBody, SUMMARY_AGENT_ID)); // 汇总机构号
		clearBookTransSummaryBean.setSummaryCurrency(getBeanAttributeValue(ngsnBody, SUMMARY_CURRENCY)); // 汇总币种
		clearBookTransSummaryBean.setSummaryMsgType(getBeanAttributeValue(ngsnBody, SUMMARY_MSGTYPE)); // 汇总报文类型
		clearBookTransSummaryBean.setSummaryMsgStatus(getBeanAttributeValue(ngsnBody, SUMMARY_MSGSTATUS)); // 汇总报文状态
		clearBookTransSummaryBean.setSendMsgCount(Long.parseLong(getBeanAttributeValue(ngsnBody, SENDMSG_COUNT))); // 汇总发送报文总笔数
		BigDecimal bdsendCount = new BigDecimal(getBeanAttributeValue(ngsnBody, SEND_AMOUNT));
		clearBookTransSummaryBean.setSendAmount(bdsendCount.setScale(2, BigDecimal.ROUND_HALF_UP)); // 汇总发送报文总金额
		clearBookTransSummaryBean.setRecMsgCount(Long.parseLong(getBeanAttributeValue(ngsnBody, RECMSG_COUNT))); // 汇总接收报文总笔数
		BigDecimal bdRecvCount = new BigDecimal(getBeanAttributeValue(ngsnBody, REC_AMOUNT));
		clearBookTransSummaryBean.setRecAmount(bdRecvCount.setScale(2, BigDecimal.ROUND_HALF_UP)); // 汇总接收报文总金额

		return msgBus;
	}

	/**
	 * beab转xml
	 * 
	 * @author
	 */
	@Override
	public Document Convert2Xml(Object obj) {
		Document ngsnBody = DocumentHelper.createDocument();
//		CoreBookMessageBus bus = (CoreBookMessageBus) obj;
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/MsgHdr/MsgId","M234567890123451");           //报文标识号	         
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/MsgHdr/CreDtTm","2016-09-01T09:15:05.000+08:00");//"2016-09-01T09:15:05.000+08:00");    //报文发送时间	         
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/MsgHdr/InstgAgt/FinInstnId/Othr/Id","CN04000001JJ"); //发起机构号	         
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/MsgHdr/InstdAgt/FinInstnId/BICFI","ICBKCNBJ");//"ICBKCNBJ");//bus.getInstructedAgentBic()); //接收机构BIC	         
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/MsgHdr/InstdAgt/FinInstnId/LglNttId","A0000000000000000011");//"A0000000000000000011");//bus.getInstructedAgentLei()); //接收机构LEI	         
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/MsgHdr/InstdAgt/FinInstnId/Othr/Id","CN01123456AA");  //接收机构号	
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/AggtdDt","2016-08-01T00:00:00.000+08:00");//"2016-08-01T00:00:00.000+08:00");
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/FinInstnId/BICFI","ICBKCNBJ");//"ICBKCNBJ");//clearBookTransSummaryBean.getInstructingAgentBic());//发起机构BIC	         
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/FinInstnId/LglNttId","A0000000000000000011");//"A0000000000000000011");//clearBookTransSummaryBean.getInstructingAgentLei());//发起机构LEI	         
		setBeanAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/FinInstnId/Othr/Id","CN01123456AA");//"CN01123456AA");//clearBookTransSummaryBean.getInstructingAgentId()); //发起机构号	
		int flagJ = 0;
		int flagK = 0;
		int flagX = 0;
		for(int i=0;i<2;i++){
			setBeanListAttribute(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls");
		    setBeanListAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls", "/Ccy", "CNY", i);
		    for(int j=0;j<2;j++){
		    	setBeanListAttribute(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls",i,"/MsgSummry");
		        setBeanListAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry","/MsgNmId", "ngsn.167.001.01",flagJ);
		        for(int k=0;k<2;k++){
		        	setBeanListAttribute(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry",flagJ,"/MsgStsSummry");
    		        setBeanListAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry","/MsgSts", "CLRD",flagK);
    		        for(int x=0;x<2;x++){
    		        	setBeanListAttribute(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry",flagK,"/TxsSummry");
		        		setBeanListAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry","/TtlDlvrgNtries/NbOfNtries", "1",flagX);
		        		setBeanListAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry","/TtlDlvrgNtries/Sum", "20000",flagX);
		        		setBeanAttribute(ngsnBody, "/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry/TtlDlvrgNtries/Sum", "Ccy","CNY",flagX);
		        		
	        			setBeanListAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry","/TtlRcvgNtries/NbOfNtries", "1",flagX);
	        			setBeanListAttributeValue(ngsnBody,"/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry","/TtlRcvgNtries/Sum", "20000",flagX);
	        			setBeanAttribute(ngsnBody, "/Document/TxSummaryNtfctn/Rpt/InstnInf/ChngDtls/MsgSummry/MsgStsSummry/TxsSummry/TtlRcvgNtries/Sum", "Ccy","CNY",flagX);
    		        	flagX++;
    		        }
    		        flagK++;
		        }
		        flagJ++;
		    }
		}
		System.out.println(ngsnBody.asXML());
		return ngsnBody;
	}
	
	public static void main(String[] args) {
		Convertor_Ngsn_167_001_01_Example example = new Convertor_Ngsn_167_001_01_Example();
		Object obj = new Object();
		example.Convert2Xml(obj);
	}
}

 

分享到:
评论

相关推荐

    dom4j读取XML,解析XML简单示例

    XMLTest.java中创建XML和解析XML示例,另附dom4j资源包

    通过Dom4j创建和读取xml文件下载

    通过Dom4j创建和读取xml文件下载

    Java实现PDF读写(Itext)与解析XML读写(Dom4j)

    二、用Java语言(Dom4j)完成了以下XMLToVds、TxtToVDS功能: 项目文件为TxtToVDS.java 、XMLToVds.java 1、创建TXT D:/zhouyl/111.txt 2、读TXT文本D:/zhouyl/111.txt创建相应格式的D:/zhouyl/111.VDS 3、创建XML...

    java操纵xml文件的读写,并根据xml生成树型菜单

    java操纵xml文件的读写,并根据xml生成树型菜单

    java dom4j 简单示例

    使用java编写,spring框架,读取数据库中内容使用dom4j包生成XML文档,并包括一个Transformer使用Xslt转换xml的示例

    Java and XML, 3rd Edition

    《Java与XML》(第三版)的内容涵盖了所有主要的Java XML处理库程序,全面讲解了SAX、DOM、StAX、JDOM以及dom4j的应用程序编程接口,同时还囊括了最新版本的用于XML处理的Java应用程序编程接口(JAXP)和用于XML绑定...

    JAVA与XML.rar

    《Java与XML》(第三版)的内容涵盖了所有主要的Java XML处理库程序,全面讲解了SAX、DOM、StAX、JDOM以及dom4j的应用程序编程接口,同时还囊括了最新版本的用于XML处理的Java应用程序编程接口(JAXP)和用于XML绑定...

    XML解析教程

    java解析xml四种方式 DOM (Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的标准接口, DOM采用建立树形...目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件.

    XML DOM技术的设计

    掌握DOM解析器,包括创建DOM解析器的步骤;Doucument对象的结构。节点的类型,包括Node接口;...根据以下提供的Customer.xml,使用DOM编写Java文件Customer1.java访问XML的特定节点,将XML文档中的所有数据读取出来。

    XML解析工具

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...

    JAVA_API1.6文档(中文)

    javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供...

    TinyXml静态库+演示代码

    这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。 DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序...

    JDOM(java)使用详解及实例

    JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...

    TinyXML 解析器

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...

    基于Java的XML解析与反射设计模式.doc

    xstream可以完美转换xml,与以往的解析xml工具dom相比,xstream是一个易用的、开源 的库,使用起来简单、小巧,容易理解,可以轻易的将java对象和xml文档相互转换,而 且可以修改某个特定的属性和节点名称。...

    Java 1.6 API 中文 New

    javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置...

    java api最新7.0

    javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置...

    JAVA编程百例+JAVA面试题集十套(经典)

    实例68 使用DOM解析XML 实例69 使用SAX解析XML 实例70 使用JDOM解析XML 实例81 SERVLET读取COOKIE数据 实例86 JSP使用数据连接池 实例99 连接数据库 实例100 上传文件 面试题(很多企业都常常从这些面试题库中选题...

    JavaAPI1.6中文chm文档 part1

    javax.imageio.event Java Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。 javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供...

    Excel2xml,excel文档解析

    读取Excel文件,将文件内容转为xml格式,并生成文件

Global site tag (gtag.js) - Google Analytics