【发布时间】:2011-12-16 05:14:56
【问题描述】:
我已经使用 JAXB 为以下架构创建了一个类(用于 web 服务):
<xs:complexType name="ExceptionType">
<xs:attribute name="errorCode" type="xs:positiveInteger" use="required"/>
<xs:attribute name="outcomeType" use="required">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="rejectFile"/>
<xs:enumeration value="rejectSubmission"/>
<xs:enumeration value="continue"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
虽然他们将发送的实际 XML 是
<Exception errorCode="1503"outcomeType="continue">
(没有空格,“1503”和结果类型)。
现在,我在整个 XML 响应中将 <Exception errorCode="(\d*)"outcomeType 替换为 <Exception errorCode="\1" outcomeType,然后将其提供给 JAXB 解组器,它可以工作,但我想知道其他一些 XML 响应是否会有这个“错误”。
有没有更简单的方法让 JAXB 接受带有这个 attr1="value"attr2 错误的 XML 标记?或者也许使用一些自定义的 XMLFilterImpl?
【问题讨论】:
标签: java xml xml-serialization jaxb