2

MOXy 2.3.1を使用していますが、役立つ場合はアップグレードできます。

次の XML があります。

<myelement>
text content <b>mixed</b> with tags
</myelement>

以下を含む文字列フィールドに格納したいもの:

text content <b>mixed</b> with tags

私は、MOXy 内で XML 変換機能を使用する必要があると考えていました。私のコードは次のようになります。

// 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;
    }
}

return null;でデバッグしてきました。行をクリックして、マッピングオブジェクトで使用できるものを確認します。あまり役に立ちませんでした。正しい軌道に乗っていますか?

XStream のHierarchicalStreamReaderに似たメカニズム、つまりソース XML への DOM のようなアクセスを提供するものを期待しています。任意の回避策をいただければ幸いです。

私は次のようになってもかまいません:

text content &lt;b&gt;mixed&lt;/b&gt; with tags

ただし、ソース XML には、エスケープされていないマークアップが含まれている必要があります。

ありがとう、マイク

4

1 に答える 1

4

注釈を使用し@XmlAnyElement、DOMHandler を指定して、DOM フラグメントを文字列値に変換したり、文字列値から変換したりできます。

完全な例について

于 2013-01-03T10:57:49.630 に答える