2014-09-12 2 views
2

인 xml을 구문 분석했습니다. Java Object로 구문 분석 할 XML 데이터가 있습니다. 그러나 레코드가있는이 xml 데이터는 처음으로 보았습니다. 어떤 몸이라도이 구문을 분석 할 생각이있었습니다.레코드 유형이

<?xml version="1.0" encoding="UTF-8"?>  
<Coder version="1.0"> 
    <record javaclass="com.dd.Impl"> 
    <value name="fileName">load</value> 
    <record name="load" javaclass="com.wm.dd.Data"> 
     <value name="@version">1.0</value> 
     <record name="lm:Order" javaclass="com.dd.Data"> 
     <value name="@Id"></value> 
     <value name="@UID"></value> 
     <value name="@Count">2</value> 
     <value name="@Count">0</value> 
     <record name="lm:Master" javaclass="com.dd.Data"> 
      <value name="lm:ID">13</value> 
      <value name="lm:Number">382</value> 
     </record> 
     <array name="wo:Detail" type="record" depth="1"> 
      <record javaclass="com.dd.Data"> 
      <value name="lm:ID">13</value> 
      <value name="lm:Number">382</value> 
      <value name="lm:Code">CD3</value> 
      <value name="lm:Occurrence">1</value>    
      </record> 
      <record javaclass="com.dd.Data"> 
      <value name="lm:ID">13</value> 
      <value name="lm:Number">382</value> 
      <value name="lm:Code">CD2</value> 
      <value name="lm:Occurrence">1</value> 
      </record> 
      <record javaclass="com.dd.Data"> 
      <value name="lm:ID">13</value> 
      <value name="lm:Number">382</value> 
      <value name="lm:Code">CD1</value> 
      <value name="lm:Occurrence">1</value> 
      </record> 
     <record javaclass="com.dd.Data"> 
      <value name="lm:ID">13</value> 
      <value name="lm:Number">382</value> 
      <value name="lm:Code">CD4</value> 
      <value name="lm:Occurrence">1</value> 
      </record>    
     </array> 
</record> 
    </record> 
    <value name="folderPath">dir</value> 
    <value name="value">2014</value> 
    </record> 
</ICoder> 

일반적으로 xml에서 javaObject로 구문 분석하는 경우 일반적으로 jaxB 코드를 사용합니다.

JAXBContext jaxbContext; 
      try { 
       jaxbContext = JAXBContext.newInstance(OrderType .class); 
       Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); 
       OrderType order = (OrderType) jaxbUnmarshaller.unmarshal(file); 
       System.out.println(order); 
      } catch (JAXBException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
+1

오류 란 무엇입니까? r 당신은 점점 당신의 질문은 무엇입니까? – JWiley

답변

1
당신이 this 항목을 참조하십시오 XSD에서 자바 클래스

 <plugin> 
      <groupId>org.jvnet.jaxb2.maven2</groupId> 
      <artifactId>maven-jaxb2-plugin</artifactId> 
      <version>0.9.0</version> 
      <executions> 
       <execution> 
        <id>commun-generate</id> 
        <goals> 
         <goal>generate</goal> 
        </goals> 
        <configuration> 
         <generateDirectory>${basedir}/src/main/java/</generateDirectory> 
         <schemaDirectory>${basedir}/src/main/resources/schema/xsd</schemaDirectory> 
         <strict>true</strict> 
         <extension>true</extension> 
         <verbose>true</verbose> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
다른

을 당신이 생성 할 수 받는다는 사용하는 경우 당신은 당신의 XML see here

  • 에서 XSD를 생성해야

    1. xsd에서 수업 생성