C#中与XML进行进程间通信

时间:2014-05-19 08:11:12

标签: c# xml xml-serialization ipc

我有两个应用程序: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>

1 个答案:

答案 0 :(得分:0)

您可以使用下面提到的代码

 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