c# - XML 到 C# 类

标签 c# .net xml serialization xml-serialization

谁能给我一些建议? 我正在咨询的 API 会生成如下模式:

<?xml version="1.0"?>
<ChatXMLResult>
    <Generator>AppServer.network.lcpdfr.com</Generator>
    <Version>1000</Version>
    <Time>1305910998</Time>
    <Signature>a0f1f6bea66f75de574babd242e68c47</Signature>
    <FilteredResultSet>1</FilteredResultSet>
    <Messages>
        <Message>
            <ID>1</ID>
            <UID>9</UID>
            <DisplayName>Jay</DisplayName>
            <UserName>jaymac407</UserName>
            <Time>1305900497</Time>
            <Area>Masterson St</Area>
            <Message>Test</Message>
            <TargettedMessage>false</TargettedMessage>
            <Targets>
                <Target>#Global Chat#</Target>
            </Targets>
            <Signature>1cfdff1aaa520348d0a62c87ae9717d3</Signature>
        </Message>
    </Messages>
</ChatXMLResult>

如何在 C# 中获取所有消息?

最佳答案

参见 Attributes that control XML Serialization ,例如:

[XmlRoot("ChatXMLResult")] 
public class Chat
{
    [XmlElement("Signature")] // optional 
    public string Signature { get; set; }

    [XmlArray]
    [XmlArrayItem(typeof(Message), ElementName="Message")]
    public Message[] Messages { get; set; }
}

public class Message { .. }

等等


我还看到了公共(public)元素,<Signature /> ,这样就可以引入一个父类:

public abstract class SignedObject
{
    public string Signature { get; set; }
}

关于c# - XML 到 C# 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6075343/

相关文章:

c# - 从我的 C# 应用程序的 dhcp 服务器获取 IP 地址 - 像虚拟机

.net - ASP.NET Web API(测试版)是否可以与最新的 Mono(稳定版)一起运行?

c# - 在 .NET/C# 中解析 "multipart/form-data"

xml - XPath 查询通过某种实现来选择元素

c# - 在另一个域中创建实例和展开?

c# - 在不同的进程中运行委托(delegate)

c# - Unity 中的文本与屏幕分辨率无关?

c# - 在 C# 或 .NET 中,有没有办法阻止其他线程调用特定线程上的方法?

java - 使用文档类在java中合并xml文件

java - 如何在 Groovy 或 Java 中按元素 "paths"过滤 XML 字符串