代码之家  ›  专栏  ›  技术社区  ›  Christopher Klewes

有没有像JAX-B这样的C_?

  •  4
  • Christopher Klewes  · 技术社区  · 15 年前

    我们正在寻找一个支持JAX-B在Java中编组和编组的库,有没有最先进的图书馆使用?

    3 回复  |  直到 9 年前
        1
  •  4
  •   Community Ian Goodfellow    7 年前

    就像布鲁诺说的,你要找的是 System.Xml.Serialization 命名空间,更具体地说 XmlSerializer 班级。要将对象序列化为XML,只需调用 Serialize 方法,然后使用 Deserialize 方法。有关详细信息,请参阅msdn主题 Introducing XML Serialization .

    在序列化为XML时,有时会遇到障碍,如果遇到问题,请确保签出(并为其作出贡献) this thread .

        2
  •  1
  •   bruno conde    15 年前

    System.Xml.Serialization 名称空间是您需要的。它可以与 attributes ,就像Java注释一样。

        3
  •  0
  •   Jan Rou    9 年前

    有点像,但不完全像JAXB。阿伦·古拉尼克和布鲁诺·孔德也有类似的说法。区别在于反序列化。对于xmlserializer,必须提供一个类型。类型可以来自XSD文件XML模式,该文件由xsd.exe工具处理。该工具为XML模式中的每个定义类型创建一个带有分部类的CS文件。使用方便。

    但是,当没有有效XML的类型时,不能在xmlserilaizer中使用derserializer。这种情况可能是这样的。您从消息队列接收XML格式的消息。您可以接收在XML模式中定义的任何类型。使用JAXB,可以将XML反序列化到对象,并使用getClass属性来确定它是哪种类型。我在C中找不到类似的方法。