XML 到复杂对象

本文关键字:对象 复杂 XML | 更新日期: 2023-09-27 18:30:25

我有一个xml,我如何构建类,以便在序列化它时,它看起来像这样。

<Security xmlns="http://docs.oasis-open.org/x/xxxxx.xsd"  xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
    <saml:Assertion ID="xxxxx" IssueInstant="xxxxxxx" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
        <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified">MyApp</saml:Issuer>
        <saml:Subject>
            <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified">MyApp</saml:NameID>
        </saml:Subject>
        <saml:AttributeStatement>
            <saml:Attribute Name="UserID" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
                <saml:AttributeValue>TestUserID</saml:AttributeValue>
            </saml:Attribute>
            <saml:Attribute Name="UserFirstName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
                <saml:AttributeValue>TestUserFirstName</saml:AttributeValue>
            </saml:Attribute>
            <saml:Attribute Name="UserLastName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
                <saml:AttributeValue>TestUserLastName</saml:AttributeValue>
            </saml:Attribute>
            <saml:Attribute Name="ReasonForSearch" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
                <saml:AttributeValue>ReasonForSearch</saml:AttributeValue>
            </saml:Attribute>
        </saml:AttributeStatement>
    </saml:Assertion>
</Security>

XML 到复杂对象

使用 xsd.exe 首先生成 XSD,然后使用相同的 exe 生成类文件。更多信息 - http://msdn.microsoft.com/en-us/library/x6c1kb0s.aspx。

在我的系统上将您的xml保存为安全性.xml并在Visual Studio命令提示符下运行以下命令:

xsd Security.xml

上面的步骤生成了两个可用于生成类的 xsd 文件。

xsd Security.xsd Security_app1.xsd /classes