谁能给我一些建议? 我正在咨询的 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/