XMLファイルを読み込み、すべての連絡先を連絡先リストに追加しようとしていますが、取得できないエラーは変換できません。リストにリストXMLからLinqを使用して読み込み、オブジェクトを含むリストに追加します。
var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var xEle = new XElement("Contact",
from contact in contacts
select new XElement("Contact",
new XAttribute("Name", contact.Name),
new XElement("Address", contact.StreetAddress),
new XElement("AreaCode", contact.AreaCode),
new XElement("City", contact.City),
new XElement("Phone", contact.Phone),
new XElement("Email", contact.Email)
));
xEle.Save(path + "\\contacts.xml");
XMLから読み込み、リストに追加
が連絡先の各連絡先のxmlファイルを書き込む(作品)(動作しません!)
XDocument xmlDoc = XDocument.Load(path + "\\contacts.xml");
contacts = (List<Contact>)xmlDoc.Descendants("Contact");
XMLファイル出力
<Contacts>
<Contact Name="Nils Nilsson">
<Address>MyStreet 17B</Address>
<AreaCode>55555</AreaCode>
<City>BigCity</City>
<Phone>0705555555</Phone>
<Email>[email protected]</Email>
</Contact>
</Contact>
連絡クラス
public class Contact
{
public string Name { get; set; }
public string StreetAddress { get; set; }
public string AreaCode { get; set; }
public string City { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
}
マイ既存のリスト
List<Contact> contacts = new List<Contact>();
'xmlDoc.Descendants(" Contact ")'は、IEnumerableを返します。それらの 'XElement'をあなたの' Contact'オブジェクトに逆シリアル化する必要があります。 –