如何将xml数据从c#反序列化为java?
我在c#服务器应用程序和java客户端应用程序中都有相同的对象。服务器XML序列化这些对象,并通过REST服务使它们可用。java应用程序以XML格式下载数据。将xml数据反序列化到java对象的最佳方法是什么?我目前正在使用Java org.w3c.dom类解析xml并创建新对象。我知道某些类型,如日期和字节数组,将不得不手动处理,但如果方向正确,将不胜感激 C级: Java类:如何将xml数据从c#反序列化为java?,c#,java,xml,serialization,C#,Java,Xml,Serialization,我在c#服务器应用程序和java客户端应用程序中都有相同的对象。服务器XML序列化这些对象,并通过REST服务使它们可用。java应用程序以XML格式下载数据。将xml数据反序列化到java对象的最佳方法是什么?我目前正在使用Java org.w3c.dom类解析xml并创建新对象。我知道某些类型,如日期和字节数组,将不得不手动处理,但如果方向正确,将不胜感激 C级: Java类: public class Sample { public String MyText; publi
public class Sample {
public String MyText;
public boolean Flag;
}
以下是来自c#web应用程序的xml:
废话
假的
Java端的一种可能方法是使用。它提供了一种将XML反序列化为Java对象的简单方法,而不需要模式定义
XStream通常期望Java类/包名称作为XML元素。但是,您可以通过使用别名来修改此行为。鉴于上述要求,您将需要此设施。有关更多信息,请参阅。为什么不在C#中序列化为JSON,然后在Java中反序列化。两种平台都有JSON支持/库。从C#端可以使用。JSON将生成一个比XML小得多的轻量级文件,并且在处理时应该快一点。是一种将XML模式绑定到Java类的方法。您甚至可以从模式或dtd生成类。或者,您可以使用类似xpath的表达式手动注释java类,这些表达式告诉JAXB如何反序列化XML
如果这有点重,那么Java提供了许多如何从文件中读取xml的选择。我喜欢,Sun的新的。库,用作Java反序列化解决方案,看起来很有前途。我想使用这种方法,但是现有系统已经在使用这种数据格式。
public class Sample {
public String MyText;
public boolean Flag;
}
<?xml version="1.0" encoding="utf-8"?>
<Sample xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MyText>Blah Blah</MyText>
<Flag>false</Flag>
</Sample>