我正在尝试通过序列化对象来创建 xml 文档。我遇到了一个问题。
目标 xml 结构类似于 HTML 页面。它有一个带有一些属性的表单元素,并且可以有任意数量的控件,如文本字段、按钮等。我为此结构创建的对象如下所示。为了添加所有这些控件,我使用了一个名为 items 的数组列表。当对象被序列化时,所有控件都出现在标签内。我希望控件显示为表单元素的直接子元素。我怎样才能做到这一点?
[XmlInclude(typeof(Lstatic))]
[XmlInclude(typeof(textField))]
public class form
{
[XmlAttribute]
public String action
{
get;
set;
}
[XmlAttribute]
public String method
{
get;
set;
}
[XmlAttribute]
public String name
{
get;
set;
}
[XmlArray]
public ArrayList items
{
get;
set;
}
}
这是生成的 XML
<form name="login" method="get" action="/FetchIndex.asmx/findAddresses">
<items>
<anyType value="Please key in your details:" xsi:type="Lstatic"/>
<anyType name="postCode" value="" xsi:type="textField" size="10" label="Postcode:" hint="Enter your postcode"/>
</items>
</form>
相反,我想要这样的结果 xml
<form name="login" method="get" action="/FetchIndex.asmx/findAddresses">
<anyType value="Please key in your details:" xsi:type="Lstatic"/>
<anyType name="postCode" value="" xsi:type="textField" size="10" label="Postcode:" hint="Enter your postcode"/>
</form>
我怎么能在 C# 中做到这一点?谢谢