現在、SimpleXMLフレームワークを使用してXMLファイルを解析していますが、繰り返し発生する問題に直面しています。
受信したXMLは、次のいずれかになります。
<root>
<B>
...
</B>
</root>
またはそのようなもの:
<root>
<C>
...
</C>
</root>
そして、BとCに別のクラス、たとえばAを拡張してもらいたい。
SimpleXMLでそれを行うためのきちんとした方法は次のとおりです。
@Root(name="root")
class Root {
@Element(name="B", required="false")
private B b;
@Element(name="C", required="false")
private C c;
}
class B extends A {
}
class C extends A {
}
SimpleXMLドキュメントで見つけた何かを、XML形式を変更して実行できることはわかっています。
<root>
<A class="example.B"> // or "example.C"
...
</A>
</root>
そして私のJavaクラス:
@Root(name="root")
class Root {
@Element(name="A")
private A a;
}
class B extends A {
}
class C extends A {
}
このソリューションを使用したいのですが、解析する前にクライアント側でXMLを変更するプロセスを実行するかどうかはまったくわかりません。問題は、私がそれを制御できないため、サーバー側で実行できないことです。
だから私の質問は:
これが私が持っている唯一の解決策ですか?
この場合、クライアント側でxmlファイルを変更するための高速な解決策があるかどうか知っていますか?