- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
XmlSerialiser 可以/应该用于反/序列化以下第 3 方定义的与 xml ‘相似’的消息协议(protocol)吗?
该协议(protocol)指定了一些消息,一些包含其他不包含的属性,例如协议(protocol)A
<GetEvent></GetEvent>
传输<AckEvent>1234,888</AckEvent>
一起传输我想使用 XDocument 对类进行反序列化/序列化(理想情况下,类将从 xsd 文件生成)例如
class GetEvent{}
class AckEvent{int ID; int Type;}
但没有属性的类会使用“最小化”结束标记进行序列化:<GetEvent />
这是协议(protocol)不允许的。
此外,同一个第 3 方设备有另一个接口(interface),该接口(interface)略有不同,因为属性要包含在标签中,例如协议(protocol) B:
带有参数的 SomeOtherEvent 消息将作为字符串传输 <SomeOtherEvent><ID>1234</ID><TYPE>999</TYPE></SomeOtherEvent>
我可以使用以下方式序列化这些:
public static XDocument Serialize<T>(T source)
{
XDocument target = new XDocument();
XmlSerializer s = new XmlSerializer(typeof(T));
System.Xml.XmlWriter writer = target.CreateWriter();
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
s.Serialize(writer, source, ns);
writer.Close();
return target;
}
但是对于没有参数的消息,仍然存在最小化结束标签的问题。
最佳答案
尝试使用XmlElement attribute .
关于c# - 在 C# 中将类序列化为 'almost' xml 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6094412/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!