Jaxb part 2
- 3. Example XSD Simple type
<xsd:element name="dateborn">
<xsd:simpleType>
<xsd:restriction base="xsd:date">
<xsd:pattern value="d{2}‐d{2}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
- 4. Example XSD Complex type
<xs:complexType name="addRequest">
<xs:sequence>
<xs:element name="detail" type="xs:string" minOccurs="0"/>
<xs:element name="telNo" type="xs:string" minOccurs="0"/>
<xs:element name="firstName" type="xs:string"/>
<xs:element name="lastName" type="xs:string"/>
<xs:element name="numberID" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- 5. Example XSD
<xs:element name="Exception" nillable="true" type="tns:exceptionBean"/>
<xs:element name="addRequest" type="tns:addRequest"/>
<xs:element name="addRequestResponse" type="tns:addRequestResponse"/>
<xs:element name="cancelRequestR" type="tns:cancelRequestR"/>
<xs:element name="cancelRequestRResponse" type="tns:cancelRequestRResponse"/>
<xs:element name="completeRequestR" type="tns:completeRequestR"/>
<xs:element name="completeRequestRResponse" type="tns:completeRequestRResponse"/>
<xs:element name="getRequestStudent" type="tns:getRequestStudent"/>
<xs:element name="getRequestStudentResponse" type="tns:getRequestStudentResponse"/>
<xs:element name="getSpecialize" type="tns:getSpecialize"/>
<xs:element name="getSpecializeResponse" type="tns:getSpecializeResponse"/>
- 6. Example XSD(2)
คือ class ที่คอยทําหน้ าที่สร้ าง object
ให้ กบ class อื่นๆ เมื่อมีการ request
ั
ตัวอย่าง code ใน ObjectFactory
public Student createStudent() {
return new Student();
}
- 9. Example Main.java
ตัวอย่ างการ input ข้ อมูลลงใน file XML
s[1].setStudentID(String.valueOf("51050560"));
s[1].setStudentFirstName(String.valueOf("เกศิริน "));
s[1].setStudentLastName(String.valueOf("คุณสืบพงษ์ พนธ์ "));
ั
- 10. Example Main.java(2)
try {
javax.xml.bind.JAXBContext jaxbCtx =
javax.xml.bind.JAXBContext.newInstance(s[1].getClass().getPackage().getName());
javax.xml.bind.Marshaller marshaller = jaxbCtx.createMarshaller();
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_ENCODING, "UTF‐8"); //NOI18N
marshaller.setProperty(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
marshaller.marshal(s[1], System.out);
} catch (javax.xml.bind.JAXBException ex) {
// XXXTODO Handle exception
java.util.logging.Logger.getLogger("global").log(java.util.logging.Level.SEVERE, null, ex);
//NOI18N
}
- 13. File XML
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ns2:student xmlns:ns2="http://webservice.component/">
<Student_ID>51050560</Student_ID>
<Student_FirstName>เกศิริน </ Student_FirstName>
<Student_LastName>คุณสืบพงษ์ พนธ์ </ Student_LastName>
ั
</ns2:student>
- 14. Main.java
Student s = new ObjectFactory().createStudent();
try {
javax.xml.bind.JAXBContext jaxbCtx =
javax.xml.bind.JAXBContext.newInstance(s.getClass().getPackage().getName());
javax.xml.bind.Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
s = (Student) unmarshaller.unmarshal(new java.io.File("D://Student.XML"));
//NOI18N
} catch (javax.xml.bind.JAXBException ex) {
// XXXTODO Handle exception
java.util.logging.Logger.getLogger("global").log(java.util.logging.Level.SEVERE,
null, ex); //NOI18N
}
- 15. Main.java(2)
ตัวอย่ าง code ที่ แสดงในส่ วน output
System.out.println("Student Detail");
System.out.print(s.getStudentID());
System.out.print("t"+s.getStudentFirstName());
System.out.println("t"+s.getStudentLastName());