我脑子里有一个lapsus,我不知道如何在我的类中定义一个XML属性...在我的XML-Element中可以出现零次,一次或多次......
这就是我的XML-Element的样子:
*一个子元素
<MainElement Phase="" Stage="" Element-Name="" Element-Version=""
SubElement-Name="" />
*两个子元素
<MainElement Phase="" Stage="" Element-Name="" Element-Version=""
SubElement-Name="subElement.1"
SubElement-Name="subElement.2"/>
这是我的班级:
public class MainElement
{
[XmlAttribute(AttributeName = "Phase")]
public string ElementPhase {get; set; }
[XmlAttribute(AttributeName = "Stage")]
public string ELementStage {get; set; }
etc...
// my SubElement structure...
}
如何看,属性“SubElement-Name”可以显示为cero,一次或“x”次,但我的内部没有其他XML元素..
提前感谢你!
答案 0 :(得分:3)
XML不允许这样做,因此,XmlReader类也不允许它(并且所有其他Xml技术都是基于XmlReader类构建的)。因此,如果你真的想这样做,你必须完全靠自己支持它。
XML确实支持列表,即
<MainElement Phase="" Stage="" Element-Name="" Element-Version="" SubElement-Name="subElement.1 subElement.2"/>
但是,我不知道如何为此设置XmlSerializer的属性。
编辑:如果XmlSerializer支持它,xsd.exe可能知道如何。因此,最好的选择可能是创建一个Xml Schema(无论如何这是一个好主意)并通过xsd.exe为它创建类