在 C# 中,JAXB(Java Architecture for XML Binding)的等价物是 XML 序列化和反序列化。
C# 中的 XML 序列化和反序列化是一种将对象序列化为 XML 格式或将 XML 格式反序列化为对象的技术。它可以让您更方便地处理 XML 数据,并且可以在不同的平台之间轻松地传输数据。
在 C# 中,您可以使用 System.Xml.Serialization
命名空间中的类来实现 XML 序列化和反序列化。例如,您可以使用 XmlSerializer
类将对象序列化为 XML 格式的字符串,或者使用 XmlSerializer
类将 XML 格式的字符串反序列化为对象。
以下是一个简单的示例,演示如何使用 XmlSerializer
类将对象序列化为 XML 格式的字符串:
using System;
using System.IO;
using System.Xml.Serialization;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
Person person = new Person { Name = "John", Age = 30 };
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringWriter writer = new StringWriter())
{
serializer.Serialize(writer, person);
string xml = writer.ToString();
Console.WriteLine(xml);
}
}
}
以上代码将输出以下 XML 格式的字符串:
<?xml version="1.0" encoding="utf-16"?><Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>John</Name>
<Age>30</Age>
</Person>
您也可以使用 XmlSerializer
类将上述 XML 字符串反序列化为 Person
对象,如下所示:
using (StringReader reader = new StringReader(xml))
{
Person deserializedPerson = (Person)serializer.Deserialize(reader);
Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");
}
以上代码将输出以下内容:
Name: John, Age: 30
总之,在 C# 中,JAXB 的等价物是 XML 序列化和反序列化,您可以使用 System.Xml.Serialization
命名空间中的类来实现这些功能。
领取专属 10元无门槛券
手把手带您无忧上云