请问下JAVA怎么解析XML文件获得值后直接添加入Orcale数据库中
解决方案 »
- html密码输入框可以像Swing那样设置显示密码的方式吗
- 怎么用JS定位到页面中央?
- Velocity的问题
- org.apache.jasper.JasperException: /HandlePage.jsp(30,3) Unable to find setter method for attribute: userid(这是什么异常)
- 求好的反编译软件
- 请问我怎么才能打开我电脑的1433端口啊!!数据库连不上,让我好不郁闷了几天了!!救命啦!!
- applet的code属性不能是WEB-INF/classes下的类吗?在线等!
- 如何在JBuilderX中使用Servlet 2.4的功能
- 关于取得记录总数, select count(*) as bb from ....的问题,急,在线等。
- 数据库连接
- 关于jdbc调用存储过程的问题
- MyEclipse中为什么无法发布jsp文件,显示找不到网页?
<personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation='personal.xsd'> <person id="Big.Boss" >
<name><family>Boss</family> <given>Big</given></name>
<email>[email protected]</email>
<link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
</person> <person id="one.worker">
<name><family>Worker</family> <given>One</given></name>
<email>[email protected]</email>
<link manager="Big.Boss"/>
</person> <person id="two.worker">
<name><family>Worker</family> <given>Two</given></name>
<email>[email protected]</email>
<link manager="Big.Boss"/>
</person> <person id="three.worker">
<name><family>Worker</family> <given>Three</given></name>
<email>[email protected]</email>
<link manager="Big.Boss"/>
</person> <person id="four.worker">
<name><family>Worker</family> <given>Four</given></name>
<email>[email protected]</email>
<link manager="Big.Boss"/>
</person> <person id="five.worker">
<name><family>Worker</family> <given>Five</given></name>
<email>[email protected]</email>
<link manager="Big.Boss"/>
</person>
</personnel>
像这种xml文件的值
我要解析出来怎么做啊
然后将解析出来的结果拼接成sql,插入到数据库中
jaxb2是jdk1.6原生支持。性能上,就算单句执行效率不及你。但是你毕竟是document......出来的语句。我是直接生成javabean。你用dom4j执行的语句要远远大于jaxb2执行的语句。跟你调用document再自己拼的方法完全不同。只需要加入注释,开发效率高。
{
Date date=DateHandler.strToDate(update);
int year=DateHandler.getYear(date);
int month=DateHandler.getMonth(date);
logger.info("build person xml file month:"+month);
try
{
DTXXDocument doc=DTXXDocument.Factory.newInstance();
File xmlFile = new File(filename);
CatalogTypeDTXX ctd=doc.addNewDTXX();
SchemaTypeDTXXFYPT stdf=ctd.addNewFYPT();
TableTypeDTXXFYPTPSPERSON ttdperson=stdf.addNewPSPERSON();
for(PersonBean person:list)
{
RowTypeDTXXFYPTPSPERSON psperson=ttdperson.addNewRow();
psperson.setPPERSONID(person.getP_personid());
psperson.setHGRADUATEC(person.getHgraduatec());
psperson.setOLDHGRADUC(person.getOldhgraduc());
psperson.setPABILITY(person.getP_ability());
psperson.setPACCOUNT(person.getP_account());
psperson.setPAREADAY(person.getP_areaday()==null ? null:DateHandler.getCalendar(person.getP_areaday()));
psperson.setPBIRTHDAY(DateHandler.getCalendar(person.getP_birthday()));
psperson.setPCITY(person.getP_city());
psperson.setPCODE(person.getP_code());
psperson.setPCONDAY(DateHandler.getCalendar(person.getP_conday()));
if(person.getP_conlenth()!=null)
{
psperson.setPCONLENTH(person.getP_conlenth());
}
psperson.setPDEGRJN(person.getP_degrjn());
psperson.setPDEGRJNDAY(person.getP_degrjnday()==null ? null:DateHandler.getCalendar(person.getP_degrjnday()));
psperson.setPFACE(person.getP_face());
psperson.setPGRJL(person.getP_grjl());
psperson.setPHDEGREE(person.getP_hdegree());
psperson.setPHID(person.getP_hid());
psperson.setPHSCHEDAY(person.getP_hscheday()==null ? null:DateHandler.getCalendar(person.getP_hscheday()));
if(person.getP_hschlen()!=null)
{
psperson.setPHSCHLEN(person.getP_hschlen());
}
psperson.setPHSCHNAME(person.getP_hschname());
psperson.setPHSPECIAL(person.getP_hspecial());
psperson.setPID(person.getP_id());
psperson.setPIDEN(person.getP_iden());
psperson.setPIOKTYPE(person.getP_ioktype());
psperson.setPIOUAREA(person.getP_iouarea());
psperson.setPIOULINE(person.getP_iouline());
psperson.setPIOUNAME(person.getP_iouname());
psperson.setPIOUTO(person.getP_iouto());
psperson.setPIOUTYPE(person.getP_ioutype());
psperson.setPISABLE(person.getP_isable());
psperson.setPISGB(person.getP_isgb());
psperson.setPISNHG(person.getP_isnhg());
psperson.setPISNT(person.getP_isnt());
psperson.setPISNZG(person.getP_isnzg());
psperson.setPISOUT(person.getP_isout());
psperson.setPISRUN(person.getP_isrun());
psperson.setPISSZ(person.getP_issz());
psperson.setPISTRANS(person.getP_istrans());
psperson.setPISXG(person.getP_isxg());
psperson.setPISXGJY(person.getP_isxgjy());
psperson.setPISXGZM(person.getP_isxgzm());
psperson.setPISYW(person.getP_isyw());
psperson.setPITYPE(person.getP_itype());
psperson.setPIUDAY(person.getP_iuday()==null ? null:DateHandler.getCalendar(person.getP_iuday()));
psperson.setPKINDTYPE(person.getP_kindtype());
psperson.setPLJGL(person.getP_ljgl());
psperson.setPMAINSPE(person.getP_mainspe());
psperson.setPNAME(person.getP_name());
psperson.setPNATION(person.getP_nation());
psperson.setPNTDATE(person.getP_ntdate()==null ? null:DateHandler.getCalendar(person.getP_ntdate()));
psperson.setPNUMBER(person.getP_number());
psperson.setPOAC(person.getP_oac());
psperson.setPODAY(person.getP_oday()==null ? null:DateHandler.getCalendar(person.getP_oday()));
psperson.setPOLDID1(person.getP_oldid1());
psperson.setPOLDID2(person.getP_oldid2());
psperson.setPOPEND(person.getP_opend()==null ? null:DateHandler.getCalendar(person.getP_opend()));
psperson.setPOPSTART(person.getP_opstart()==null ? null:DateHandler.getCalendar(person.getP_opstart()));
psperson.setPOTYPEID(person.getP_otypeid());
psperson.setPPASSWORD(person.getP_password());
psperson.setPPAYBDAY(person.getP_paybday()==null ? null:DateHandler.getCalendar(person.getP_paybday()));
psperson.setPPAYEDAY(person.getP_payeday()==null ? null:DateHandler.getCalendar(person.getP_payeday()));
psperson.setPPICTURE(person.getP_picture());
psperson.setPRANK(person.getP_rank()==null ? 0 : person.getP_rank()) ;
psperson.setPRANK0(person.getP_rank0()==null ? 0 : person.getP_rank0());
psperson.setPSEX(person.getP_sex());
psperson.setPSPEDAY(person.getP_speday()==null ? null:DateHandler.getCalendar(person.getP_speday()));
psperson.setPSPEEND(person.getP_speend()==null ? null:DateHandler.getCalendar(person.getP_speend()));
psperson.setPSPEPER(person.getP_speper());
psperson.setPSPEPERDAY(person.getP_speperday()==null ? null:DateHandler.getCalendar(person.getP_speperday()));
psperson.setPSPESTART(person.getP_spestart()==null ? null:DateHandler.getCalendar(person.getP_spestart()));
psperson.setPSPETITLE(person.getP_spetitle());
psperson.setPSTITLE(person.getP_stitle());
psperson.setPSTITLEDAY(person.getP_stitleday()==null ? null:DateHandler.getCalendar(person.getP_stitleday()));
psperson.setPTITLE(person.getP_title());
psperson.setPTITLEDAY(person.getP_titleday()==null ? null:DateHandler.getCalendar(person.getP_titleday()));
psperson.setPTITLEJB(person.getP_titlejb());
if(person.getP_totalsus()!=null)
{
psperson.setPTOTALSUS(person.getP_totalsus());
}
psperson.setPUPDATE(person.getP_update()==null ? null:DateHandler.getCalendar(person.getP_update()));
psperson.setPWORKDAY(person.getP_workday()==null ? null:DateHandler.getCalendar(person.getP_workday()));
psperson.setPWORKNAME(person.getP_workname());
psperson.setPWORKSTATUS(person.getP_workstatus());
psperson.setPXGDATE(person.getP_xgdate()==null ? null:DateHandler.getCalendar(person.getP_xgdate()));
psperson.setPXGJYDATE(person.getP_xgjydate()==null ? null:DateHandler.getCalendar(person.getP_xgjydate()));
psperson.setPXGZMDATE(person.getP_xgzmdate()==null ? null:DateHandler.getCalendar(person.getP_xgzmdate()));
psperson.setPXM(person.getP_xm());
if(person.getRole_id()!=null)
{
psperson.setROLEID(person.getRole_id());
}
psperson.setDPTID(person.getDpt_id());
psperson.setUPLOADYEAR(year);
psperson.setUPLOADMOU(month);
//新增
psperson.setPISALONE(person.getP_isalone());
psperson.setPISMARRY(person.getP_ismarry());
psperson.setPOLDSCHOOL(person.getP_oldschool());
psperson.setPOLDSPECIALTY(person.getP_oldspecialty());
psperson.setPOLDSCHEDAY(person.getP_oldscheday()==null ? null:DateHandler.getCalendar(person.getP_oldscheday()));
if(person.getP_opzd()!=null)
{
psperson.setPOPZD(person.getP_opzd());
}
if(person.getP_spejb()!=null)
{
psperson.setPSPEJB(person.getP_spejb());
}
psperson.setPINPARTYDAY(person.getP_inpartyday()==null? null:DateHandler.getCalendar(person.getP_inpartyday()));
if(person.getP_spezd()!=null)
{
psperson.setPSPEZD(person.getP_spezd());
}
psperson.setISHURT(person.getIshurt());
psperson.setHURTGRID(person.getHurtgrid());
psperson.setHURTPART(person.getHurtpart());
psperson.setHURTDAY(person.getHurtday()==null? null:DateHandler.getCalendar(person.getHurtday()));
psperson.setPMEMO(person.getP_memo());
psperson.setPISLOAN(person.getP_isLoan());
psperson.setPINPARTYTIME(person.getP_inpartytime()==null ? null :DateHandler.getCalendar(person.getP_inpartytime()));
psperson.setPORDER(person.getP_order());
}
doc.save(xmlFile);
logger.info("person xml build");
}
catch(Exception e)
{
e.printStackTrace();
logger.error(e.getMessage());
}
}
private String addressName; @XmlAttribute
public String getAddressName() {
return addressName;
} public void setAddressName(String addressName) {
this.addressName = addressName;
}
}package org.test;import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlAttribute;@XmlRootElement
public class Student {
private int studentId;
private String name;
private Address address; @XmlElement
public Address getAddress() {
return address;
} public void setAddress(Address address) {
this.address = address;
} @XmlAttribute
public int getStudentId() {
return studentId;
} public void setStudentId(int studentId) {
this.studentId = studentId;
} @XmlElement
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public static void main(String args[]) throws JAXBException, IOException {
JAXBContext context = JAXBContext.newInstance(Student.class);
Marshaller marshaller = context.createMarshaller();
Address address = new Address();
address.setAddressName("Home");
Student student = new Student();
student.setStudentId(12345);
student.setName("Rainsilence");
student.setAddress(address);
PrintWriter writer = new PrintWriter(System.out);
marshaller.marshal(student, writer);
// writer.close();
ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream();
marshaller.marshal(student, byteOutStream);
ByteArrayInputStream byteInStream = new ByteArrayInputStream(
byteOutStream.toByteArray());
Unmarshaller unmarshaller = context.createUnmarshaller();
Student another = (Student) unmarshaller.unmarshal(byteInStream);
byteInStream.close();
byteOutStream.close();
System.out.println(another.getName());
}
}给你个例子,轻松从xml转到javabean,及从javabean,转成xml
你写了那么多set啊,我这里set都不用啊
因为 JAXB 把 set 的工作给做掉了。