读书人

请问C# XML 序列化和反序列化时Elemen

发布时间: 2012-08-02 11:35:26 作者: rapoo

请教C# XML 序列化和反序列化时ElementName 相同 反射类型 时出错
类说明如下:ElementName中有两个全是等于“总计”的,序列化时候提示 反射类型 时出错
请教大家有遇上同样问题的吗?
namespace Contecmed.XML
{
/// <summary>
/// 室性早搏段
/// </summary>
public class VEXml
{
//室性总数
private string totalVE = null;
[XmlElement(ElementName = "室性总数")]
public string TotalVE
{
get { return totalVE; }
set { totalVE = value; }
}

//室性成对数
private string totalVEPair = null;
[XmlElement(ElementName = "室性成对数")]
public string TotalVEPair
{
get { return totalVEPair; }
set { totalVEPair = value; }
}

//室性速
private VERunXml veRun = null;
[XmlElement(ElementName = "室性速")]
public VERunXml VERun
{
get { return veRun; }
set { veRun = value; }
}

//室性千分比
private string vePerMil = null;
[XmlElement(ElementName = "室性千分比")]
public string VEPerMil
{
get { return vePerMil; }
set { vePerMil = value; }
}

//二联律总数
private string totalVEBig = null;
[XmlElement(ElementName = "二联律总数")]
public string TotalVEBig
{
get { return totalVEBig; }
set { totalVEBig = value; }
}

//总计
private string sumVEBig = null;
[XmlElement(ElementName = "总计")]
public string SumVEBig
{
get { return sumVEBig; }
set { sumVEBig = value; }
}

//三联律总数
private string totalVETrig = null;
[XmlElement(ElementName = "三联律总数")]
public string TotalVETrig
{
get { return totalVETrig; }
set { totalVETrig = value; }
}

//总计
private string sumVETrig = null;
[XmlElement(ElementName = "总计")]
public string SumVETrig
{
get { return sumVETrig; }
set { sumVETrig = value; }
}

//一分最大室性数
private string maxMinuteVECount = null;
[XmlElement(ElementName = "一分最大室性数")]
public string MaxMinuteVECount
{
get { return maxMinuteVECount; }
set { maxMinuteVECount = value; }
}
}
}


[解决办法]
xml 要有相应的namespace才行。


<室上性早搏>
<SumVEBig1:总计>123</SumVEBig1:总计>
<SumVEBig2:总计>456</SumVEBig2:总计>
</室上性早搏>

从xml反序列化,人都分不出来哪个是哪个,机器咋区分。

[解决办法]

XML code
    [XmlRoot(ElementName = "室上性早搏")]    public class VEXml    {        private int iD;        [XmlElement(ElementName = "ID")]        public int ID        {            get { return iD; }            set { iD = value; }        }        private string sumVEBig = null;        [XmlElement(ElementName = "总计", Namespace = "urn:SumVEBig0")]        public string SumVEBig        {            get { return sumVEBig; }            set { sumVEBig = value; }        }        private string sumVETrig = null;        [XmlElement(ElementName = "总计", Namespace = "urn:SumVEBig1")]        public string SumVETrig        {            get { return sumVETrig; }            set { sumVETrig = value; }        }    } 

读书人网 >C#

热点推荐