步骤如下:
1. 根据xsd生成相应的java类:
执行如下命令即可生成java类,xjc –d java类的存放路径 –p 类的包名 xsd文件名
例如:D:\java\jdk1.6.0_31\bin>xjc -d e:\ -p org.nssd e:\journal.xsd
2. 根据xsd可以生成测试xml数据,用eclipse等工具可以生成测试数据,右键xsd文件Generate→xml files
3. 解析xml文件,代码如下:
import java.io.File; import javax.xml.XMLConstants; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBElement; import javax.xml.bind.Unmarshaller; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.SchemaFactory; import org.nssd.JElem; public class Test { public static void main(String[] args) { JAXBContext context; try { context = JAXBContext.newInstance(JElem.class); Unmarshaller shaller = context.createUnmarshaller(); shaller.setSchema(SchemaFactory.newInstance( XMLConstants.W3C_XML_SCHEMA_NS_URI).newSchema( new File("src/myxsd.xsd"))); JAXBElement<JElem> root = shaller.unmarshal(new StreamSource(new File("src/data.xml")),JElem.class); JElem jElem = root.getValue(); } catch (Exception e) { e.printStackTrace(); } } }
JElem是xml文件的根节点