Java 如何通过XSD文件添加XmlAdapter类
我是XSD和JAXB的新手。 我有一个XSD模式文件logic.XSD,它生成一个完整的包,比如“com.ilume”,其中包含一些类(Employee.java)和package-info.java文件 现在,我想在同一个包中添加一个自定义适配器类(适配器类,如中所示的Java 如何通过XSD文件添加XmlAdapter类,java,xml,web-services,xsd,jaxb,Java,Xml,Web Services,Xsd,Jaxb,我是XSD和JAXB的新手。 我有一个XSD模式文件logic.XSD,它生成一个完整的包,比如“com.ilume”,其中包含一些类(Employee.java)和package-info.java文件 现在,我想在同一个包中添加一个自定义适配器类(适配器类,如中所示的StringTrimAdapter类)。 这个适配器类应该从my logic.xsd生成(我应该在logic.xml文件中添加什么,以便它可以生成StringTrimAdapter?) 我想在package-info.java中
StringTrimAdapter
类)。
这个适配器类应该从my logic.xsd生成(我应该在logic.xml文件中添加什么,以便它可以生成StringTrimAdapter
?)
我想在package-info.java中添加
@XmlJavaTypeAdapter(MyNormalizedStringAdapter.class)
。我应该写什么样的装订,在哪里?我昨天也遇到了同样的问题
最好的解决办法是使用
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
。
它是一个现有的内置类型适配器,可以帮助您修剪CDATA内容
例如,让我们以这个XML为例
<books>
<book>
<name><![CDATA[ <br> Harry Potter </br>
]]></name>
</book>
</books>
您必须将适配器添加到包含CDATA部分的变量名的正上方
然后IDE将要求您导入所需的库文件
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
就这样。希望它能帮助您:)
@XmlValue
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
protected String name;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;