C# 使用XSD模式C.Net从单个对象填充各种XML消息结构

C# 使用XSD模式C.Net从单个对象填充各种XML消息结构,c#,xml,serialization,xsd,schema,C#,Xml,Serialization,Xsd,Schema,我有一个应用程序,它需要将信息从一个对象发送到不同的API,每个API都有不同的XML消息结构。我还有一堆.xsd文件,对应于每个API的每种消息类型 例如,包含所有信息的类如下所示: class Class1 { public string s1; public string s2; public string s3; public string s4; } 一个API将接受以下格式的信息 <?xml version="1.0" encoding="IB

我有一个应用程序,它需要将信息从一个对象发送到不同的API,每个API都有不同的XML消息结构。我还有一堆.xsd文件,对应于每个API的每种消息类型

例如,包含所有信息的类如下所示:

class Class1
{
    public string s1;
    public string s2;
    public string s3;
    public string s4;
}
一个API将接受以下格式的信息

<?xml version="1.0" encoding="IBM437"?>
<Class1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <s1>first string</s1>
    <s2>second string</s2>
    <s3>third string</s3>
    <s4>fourth string</s4>
</Class1>
而另一个会接受这样的信息

<?xml version="1.0" encoding="IBM437"?>
<Class1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <s1>first string</s1>
    <s2>second string</s2>
    <OtherStrings>
        <s3>third string</s3>
        <s4>fourth string</s4>
    </OtherStrings>
</Class1>
我正在寻找一种方法,以编程方式将对象Class1转换为基于模式的各种类型的消息。有什么可以帮助我做到这一点,或者我需要自己解析模式吗


我试图避免使用xsd.exe,因此如果模式发生更改或添加了新的模式,我就不必生成新类和更改生成消息的代码。任何帮助都将不胜感激。

您是否正在尝试生成XML文件以发送到不同的API?所以在发送之前生成一个xml文件并使其符合模式?是的,这就是我想要的