假设我的示例实体TeamPlayer
看起来像这样:
PlayerId PlayerName Team Position
----------------------------------------------
1 Nobody Team A Striker
1 Nobody Team B Center Midfield
1 Nobody Team C Substitute
2 Chuck Norris TeamA ALL
2 Chuck Norris TeamB Substitute
我试图实现的目标是编写一个C#方法,并在其中传递玩家ID。结果应该是这样的XML字符串(如果将1传递给方法):
<ns0:root xmlns:ns0="urn:teamsoftware:playermanager:playerovierview">
<player>
<playerid>1</playerid>
<playername>Nobody</playername>
<team>TeamA
TeamB
TeamC</team>
<position>Striker
Center Midfield
Substiture</position>
</player>
</ns0:root>
因此,如果一个球员加入更多的球队,他们应该在<team>
标签内,并用CR LF分隔。我知道这是一个丑陋的解决方案,但是数据已交付给第三方工具,因此不幸的是,它们看起来必须像这样:/
任何帮助表示赞赏!
如此丑陋,string.Join
创建适当的文本内容听起来并不难。在获取了相关数据(我想您知道该怎么做)之后,您可以使用类似以下内容的方法:
var records = ...; // The player records
XNamespace ns = "urn:teamsoftware:playermanager:playerovierview";
return new XElement(ns + "root",
new XElement("player",
new XElement("playerid", records.First().PlayerId),
new XElement("playername", records.First().PlayerName),
new XElement("team", string.Join("\r\n", records.Select(x => x.Team)),
new XElement("position", string.Join("\r\n", records.Select(x => x.Position))
)
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句