如何解决使用多个相同类型的有序元素构建 XML
我有一个 XML UI 定义,它有一个 xsd 模式定义,我已经翻译并创建了 c 个描述每个元素的清晰类,以便我可以将我的 UI 表示为一个对象并对其进行序列化。
我使用 https://github.com/mganss/XmlSchemaClassGenerator 开始构建我的类。
我不知道怎么做的是控制部分(下面的例子)
本节的子元素是任何组件的有序列表。 元素可以在控件元素中多次出现。
<controls>
<subheader id="subheaderOutletID" label="^subHeaderPduControls" />
<button id="pduSettingsstatusOnButtonId" label="^Outleton" />
<button id="pduSettingsstatusOffButtonId" label="^Outletoff" />
<button id="pduSettingsstatusResetButtonId" label="^OutletReset" />
<subheader id="subheaderOutlet2ID" label="^subHeaderPduState" />
<button id="pduSettingsstateId" label="{currentPduState}" icon="{currentPduImage}" />
<button id="pduSettingsVoltageId" label="{currentPduStateVoltage}"/>
<button id="pduSettingsCurrentId" label="{currentPduStateCurrent}"/>
<subheader id="subheaderOutlet3ID" label="^subHeaderPduChangeName" />
<textentry id="pduSettingsTextEntryId" label="$pdu.Name" value="{updateOutletName}" />
<checkBox id="pduShowPublic" label="^PduShowCheck" value="{currentPduPublicdisplay}" />
</controls>
[System.Xml.Serialization.XmlElementAttribute("toggleslider",Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public System.Collections.ObjectModel.Collection<Toggleslider> Toggleslider
{
get
{
return this._toggleslider;
}
}
但是当序列化 xml 时,这会为每个元素类型创建一个列表......显然
例如
<controls>
<subheader id="subheaderOutletID1" label="^subHeaderPduControls" />
<subheader id="subheaderOutletID2" label="^subHeaderPduControls" />
<subheader id="subheaderOutletID3" label="^subHeaderPduControls" />
<button id="pduSettingsstatusOnButtonId1" label="^Outleton" />
<button id="pduSettingsstatusOnButtonId2" label="^Outleton" />
<button id="pduSettingsstatusOnButtonId3" label="^Outleton" />
</controls>
我尝试创建一个从通用类型派生的元素集合。
这让我有些理解,但 xml 标签是我的公共基础的名称,而不是子元素。
例如
<controllist xsi:type="subheader" id="Test" />
<controllist xsi:type="button" id="Test" />
<controllist xsi:type="subheader" id="Test2" />
<controllist xsi:type="button" id="Test2" />
而我希望生成此列表
<subheader id="Test" />
<button id="Test" />
<subheader id="Test2" />
<button id="Test2" />
对于如何创建这种动态结构的任何建议,我们将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。