jaxb 序列化与反序列化是遇到的问题

前端之家收集整理的这篇文章主要介绍了jaxb 序列化与反序列化是遇到的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在使用jaxb的时候如果碰到命名空间的问题(ns2..nsN 为前缀的命名空间),相信已经让很多人头疼过了。
对于xml文档存在多个命名空间的时候,同时又存在命名空间前缀的情况,如下所示:
xml内容:

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <teacher xmlns:f1="I'm fake namespace1" xmlns:f3="I'm fake namespace3" xmlns:f2="I'm fake namespace2">
  3. <student name="zhangsan1" age="10"/>
  4. <student name="zhangsan2" age="20"/>
  5. <student name="zhangsan3" age="30"/>
  6. <classes cno="no.1" number="10"/>
  7. <classes cno="no.2" number="20"/>
  8. <classes cno="no.3" number="30"/>
  9. </teacher>

通过在package下添加package-info.java以解决从javabean–>xml的解析的情况,
package-info.java:

  1. @XmlSchema(xmlns = { @XmlNs(namespaceURI = "I'm fake namespace1",prefix="f1"),@XmlNs(namespaceURI = "I'm fake namespace2",prefix="f2"),@XmlNs(namespaceURI = "I'm fake namespace3",prefix="f3")})
  2.  
  3. package face;
  4. import javax.xml.bind.annotation.XmlSchema;
  5. import javax.xml.bind.annotation.XmlNs;

未完待续

猜你在找的XML相关文章