日期:2014-05-19  浏览次数:20662 次

java解析复杂xml 插入到数据库中
这是一个多表的xml数据
求代码 解析出来在插入到oracle 数据库中 大佬要求有通用的方法读取表,我不会哎,大家帮帮忙写一个能用额,我真的没思路了。 
写一个吧 别发链接了
<?xml version="1.0" encoding="utf-8"?>
<!-- edited with XMLSpy v2010 (http://www.altova.com) by fengshuai (founder) -->
<MuxerConfigRoot>
 <Mux_Frame>
 <MuxFrame_Item>
 <MuxFrame_ID>0</MuxFrame_ID>
 <Start_Time_Slot>0</Start_Time_Slot>
 <Time_Slot_Num>1</Time_Slot_Num>
 <RS_Rate>(240,240)</RS_Rate>
 <Interleave_Mode>模式1</Interleave_Mode>
 <LDPC_Rate>1/2</LDPC_Rate>
 <Modulation_Type>BPSK</Modulation_Type>
 <Scramble_Type>模式0</Scramble_Type>
 </MuxFrame_Item>
 <MuxFrame_Item>
 <MuxFrame_ID>1</MuxFrame_ID>
 <Start_Time_Slot>1</Start_Time_Slot>
 <Time_Slot_Num>2</Time_Slot_Num>
 <RS_Rate>(240,192)</RS_Rate>
 <Interleave_Mode>模式1</Interleave_Mode>
 <LDPC_Rate>1/2</LDPC_Rate>
 <Modulation_Type>QPSK</Modulation_Type>
 <Scramble_Type>模式0</Scramble_Type>
 </MuxFrame_Item>
 </Mux_Frame>
 <Service_Config>
 <ESG_Service>
 <ESG_Service_Item>
 <Service_ID>254</Service_ID>
 <MuxFrame_ID>1</MuxFrame_ID>
 <Encapsulation_Mode>模式2</Encapsulation_Mode>
 <Service_Band>27648</Service_Band>
 <IsScramble>false</IsScramble>
 </ESG_Service_Item>
 </ESG_Service>
 <Media_Service>
 <Media_Service_Item>
 <Service_ID>701</Service_ID>
 <MuxFrame_ID>10</MuxFrame_ID>
 <Encapsulation_Mode>模式2</Encapsulation_Mode>
 <Service_Band>6912</Service_Band>
 <IsScramble>false</IsScramble>
 <IP>224.12.34.56</IP>
 <ECM_Port/>
 <Video_Port>0</Video_Port>
 <Audio_Port>55072</Audio_Port>
 <Audio_CodecType>DRA</Audio_CodecType>
 <Sampling_Rate>48</Sampling_Rate>
 </Media_Service_Item>
 </Media_Service>
 </Service_Config>
</MuxerConfigRoot>
 


------解决方案--------------------
dom4j
------解决方案--------------------
啥叫通用方法,用JDOM,DOM4J,SAX开源库都可以
------解决方案--------------------
DOM4J的最基本读取xml并去读根节点下面的第一个节点值。
Document doc=reader.read(new File("文件路径.xml"));
Element root=doc.getRootElement();
Element elStrCon=root.element("Mux_Frame");
strContent=elStrCon.getText();
------解决方案--------------------
看看JAVA XSTREAM 看看对楼主是否有帮助