在c#中使用XML进行进程间通信
本文关键字:进程间通信 XML | 更新日期: 2023-09-27 18:04:04
我有两个应用:X和Y。X有一组变量(存储在类的对象中),这些变量必须传输到y。我计划使用xml文件作为存储在磁盘上的记录,两个应用程序都可以按名称访问该记录。X将数据写入该xml文件,Y读取该文件。
我想我可以使用XmlSerializer (System.Xml.Serialization)来完成这一点。使用XmlSerializer,我可以创建如下所示的XML文件:
<MonsterCollection>
<Monsters>
<Monster name="a">
<Health>5</Health>
</Monster>
<Monster name="b">
<Health>3</Health>
</Monster>
</Monsters>
</MonsterCollection>
当Y读取这个XML文件时,它不知道变量Health的实际数据类型。因此,必须在X和y中定义原始类。是否也有办法将数据类型存储在xml文件中?最后,我想完成这样的事情:
<Monster name="a" type="" help="This is a monster">
<var name="Health" type="uint16" val="5" help="Healthiness of this monster" />
</Monster>
<Monster name="b" type="" help="This is a monster">
<var name="Health" type="uint16" val="3" help="Healthiness of this monster" />
</Monster>
可以使用下面提到的代码
public class Monster
{
[XmlAttribute("name")]
public string name {get;set;}
[XmlAttribute("type")]
public string type {get;set;}
[XmlAttribute("val")]
public int val { get; set; }
}
for ref serialize-object-to-element