Jaxb 使用MOXy解析混合标记,可能使用转换器

Jaxb 使用MOXy解析混合标记,可能使用转换器,jaxb,eclipselink,moxy,transformer,Jaxb,Eclipselink,Moxy,Transformer,使用MOXy 2.3.1,但如果有帮助,可以升级 我有以下XML: <myelement> text content <b>mixed</b> with tags </myelement> 我一直在调试返回null行以查看映射对象中对我可用的内容。我觉得它不是很有用,我走对了吗 我希望有一种类似于XStream的HierarchicalStreamReader的机制,可以让我像DOM一样访问源XML。任何解决办法都将不胜感激 我不介意以以下方式结

使用MOXy 2.3.1,但如果有帮助,可以升级

我有以下XML:

<myelement>
text content <b>mixed</b> with tags
</myelement>
我一直在调试返回null行以查看映射对象中对我可用的内容。我觉得它不是很有用,我走对了吗

我希望有一种类似于XStream的HierarchicalStreamReader的机制,可以让我像DOM一样访问源XML。任何解决办法都将不胜感激

我不介意以以下方式结束:

text content &lt;b&gt;mixed&lt;/b&gt; with tags
但是源XML中需要有未替换的标记


谢谢,Mike

您可以使用
@xmlanyement
注释并指定一个DOMHandler来将DOM片段转换为字符串值或从字符串值转换为DOM片段

作为一个完整的例子


您可以使用
@xmlanyement
注释并指定DOMHandler来将DOM片段转换为字符串值或从字符串值转换为字符串值

作为一个完整的例子

// Not a root element, it's own mapping annotation
// is defined in another class.
@XmlAccessorType(XmlAccessType.NONE)
class MyElement {

    @XmlTransformation
    @XmlReadTransformer(transformerClass=TempTrans.class)
    @XmlValue
    String markup
}

public class TempTrans implements AttributeTransformer {

    private AbstractTransformationMapping mapping;

    public void initialize(AbstractTransformationMapping mapping) {
        this.mapping = mapping;
    }

    public Object buildAttributeValue(Record record, Object instance, Session session) {
        return null;
    }
}
text content &lt;b&gt;mixed&lt;/b&gt; with tags