私の例のエンティティ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
私が達成しようとしているのは、プレーヤーIDを渡すC#メソッドを作成することです。結果は次のような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>
CRLFで区切られたタグ内にある必要があります。これが醜い解決策であることは知っていますが、データはサードパーティのツールに配信されるため、残念ながら次のように表示する必要があります:/
どんな助けでも大歓迎です!
醜いのですが、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]
コメントを追加