是,採用t他XmlSerializer
它會序列化一個List<T>
只要T
(或在你的情況Tag
)是可序列化的。
此輸出使用當前的階級結構爲:
<?xml version="1.0" encoding="utf-16"?>
<Move xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<oTags>
<Tag>
<TagName>Value1</TagName>
</Tag>
<Tag>
<TagName>Value2</TagName>
</Tag>
<Tag>
<TagName>Value3</TagName>
</Tag>
</oTags>
<MoveName>MyName</MoveName>
</Move>
我去看看,如果我能找到一種方法,以符合當前的XML模式,但是你可以看一下如何應用XmlAttributes和玩它自己。
編輯:
如果你改變你的類聲明中使用以下XMLATTRIBUTES,你將實現精確的XML架構在你的例子:
public class Move
{
[XmlElement(Order = 1)]
public string MoveName {get; set;}
[XmlElement(Order = 2, ElementName = "Tags")]
public List<Tag> oTags = new List<Tag>();
}
public class Tag
{
[XmlText]
public string TagName {get; set;}
}
,當序列化會產生:
<?xml version="1.0" encoding="utf-16"?>
<Move xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MoveName>MyName</MoveName>
<Tags>Value1</Tags>
<Tags>Value2</Tags>
<Tags>Value3</Tags>
</Move>
無論目前的答案是什麼,_how_是序列化它嗎?例如,如果您使用'XmlSerializer',它將起作用。 (儘管您可能需要使用一些特殊的屬性或創意才能獲得所需的特定XML模式輸出) –
我正在使用XmlSerializer –
您希望模式如何?你如何處理很多標籤似乎有點模棱兩可。應該是'名稱 值1 值2 ... ValueN '?另外,您是否靈活更改「Move」和「Tag」類? –