C# XML 反序列化和数组

发布于 2024-09-08 19:00:21 字数 1509 浏览 4 评论 0原文

有下一个 xml 文件:

<element Name="root">
    <SubFields>
        <element Name="subroot">
            <SubFields>
                <element1 Name="element1" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element1 Name="element11" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element1 Name="element111" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element2 Name="element2" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
                <element2 Name="element22" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
                <element2 Name="element222" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
            </SubFields>
        </element>
    </SubFields>
</element>

我将元素数组映射为 [XmlArray("SubFields")] 其中 SubFields 是数组的根和问题: 如何映射对象中不同类型的元素? 我可以有很多 subroot -s 元素。

There is next xml file:

<element Name="root">
    <SubFields>
        <element Name="subroot">
            <SubFields>
                <element1 Name="element1" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element1 Name="element11" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element1 Name="element111" customatt1 = "12313" customatt2 = "asdfasfadsfasd">
                    <subelement Name="subelement" />
                </element1>
                <element2 Name="element2" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
                <element2 Name="element22" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
                <element2 Name="element222" path = "asdfdsf" widget="asdasdasd">
                    <subelement Name="subelement" />
                </element2>
            </SubFields>
        </element>
    </SubFields>
</element>

I mapped the array of elements as [XmlArray("SubFields")] where SubFields is root of arrays and Question:
How to map differences types of elements in object ?
And I can have a lot of subroot -s elements.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扬花落满肩 2024-09-15 19:00:21

我使用 xsd.exe 来执行此操作。

I used xsd.exe to do it.

玻璃人 2024-09-15 19:00:21

使用 XMLSerializer 类。靠近底部的部分有关于使用 Property 属性将对象映射到 xml 元素的部分

Use the XMLSerializer class. Near the bottom theres a section about using Property attributes to map the object to the xml elements

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文