<?xml version="1.0" encoding="UTF-8"?> <post xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="post.xsd"> <id>0</id> <author>taoge</author> </post> <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="post" type="postType"/> <xs:complexType name="postType"> <xs:sequence maxOccurs="unbounded"> <xs:element name="id" type="xs:long" minOccurs="0"></xs:element> <xs:element name="tiebaName" type="xs:string" minOccurs="0"></xs:element> <xs:element name="url" type="xs:string" minOccurs="0"></xs:element> <xs:element name="title" type="xs:string" minOccurs="0"></xs:element> <xs:element name="author" type="xs:string" minOccurs="0"></xs:element> </xs:sequence> </xs:complexType> </xs:schema> public static void unmarshall() throws Exception{ path = URLDecoder.decode(path, "utf-8"); System.out.println(path); JAXBContext factory = JAXBContext.newInstance(Post.class); Schema schema = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI) .newSchema(new File(path,"post.xsd")); Unmarshaller ums = factory.createUnmarshaller(); ums.setSchema(schema); Post post = (Post) ums.unmarshal(new File(path,"post.xml")); System.out.println(post.getAuthor()); }