次のような XML ファイルがあります。
<?xml version="1.0" encoding="UTF-8"?>
<response uri="/crm/private/xml/Leads/getRecords">
<Leads>
<row no="1">
<FL val="LEADID">2000000022020</FL>
<FL val="SMOWNERID">2000000018005</FL>
<FL val="Lead Owner">John</FL>
<FL val="Company">Zillium</FL>
<FL val="First Name">Scott</FL>
<FL val="Last Name">James</FL>
<FL val="Designation">null</FL>
<FL val="Email">null</FL>
<FL val="Phone">null</FL>
<FL val="Fax">null</FL>
<FL val="Mobile">null</FL>
<FL val="Website">null</FL>
<FL val="Lead Source">null</FL>
<FL val="Lead Status">null</FL>
<FL val="No of Employees">0</FL>
<FL val="Annual Revenue">0.0</FL>
</row>
<row no="2">
<FL val="LEADID">2000000022020</FL>
<FL val="SMOWNERID">2000000018005</FL>
<FL val="Lead Owner">John</FL>
<FL val="Company">Zillium</FL>
<FL val="First Name">Scott</FL>
<FL val="Last Name">James</FL>
<FL val="Designation">null</FL>
<FL val="Email">null</FL>
<FL val="Phone">null</FL>
<FL val="Fax">null</FL>
<FL val="Mobile">null</FL>
<FL val="Website">null</FL>
<FL val="Lead Source">null</FL>
<FL val="Lead Status">null</FL>
<FL val="No of Employees">0</FL>
<FL val="Annual Revenue">0.0</FL>
</row>
</Leads>
</response>
行要素の「キーと値」のペアを読み取ろうとしていますが、Linq を使用してそれを行う方法を把握できないようです。
データを単純な POCO に「逆シリアル化」する必要があります
public class Leads
{
public long LEADID { get; set; }
public long SMOWNERID { get; set; }
public string LeadOwner { get; set; }
public string Company { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Designation { get; set; }
public string Email { get; set; }
public string Phone { get; set; }
public string Fax { get; set; }
public string Mobile { get; set; }
public string Website { get; set; }
public string LeadSource { get; set; }
public string LeadStatus { get; set; }
public int NoOfEmployees { get; set; }
public decimal AnnualRevenue { get; set; }
}
私の問題は、すべての要素が同じ名前であるため、属性値 (val) を要素値と組み合わせて取得する必要があることです。
私の質問は、Linq を使用してこれを行うスマートな方法があるかどうかです。
それ以外の場合、私の回避策は、XLS を記述し、XML をより逆シリアル化可能な XML 形式に変換することです。