我目前正在使用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 文件?