こんにちは、誰でも linq クエリを手伝ってもらえますか。通常、Web サービスへの GET リクエストのために、クライアント側から次のようにデータ グリッドにデータを入力します。
{
string uri = "http://localhost:8002/Service/Customer";
XDocument xDoc = XDocument.Load(uri);
var customer = xDoc.Descendants("Customer")
.Select(n => new
{
CustomerID = n.Element("CustomerID").Value,
Firstname = n.Element("FirstName").Value,
Surname = n.Element("LastName").Value,
Age = n.Element("Age").Value,
//Time = DateTime.Parse(n.Element("TimeAdded").Value)
})
.ToList();
dataGrid1.ItemsSource = customer;
}
これは正常に機能しますが、顧客を雇用日にリンクし、xml は次のようになります。
<ArrayOfCustomer>
<Customer>
<CustomerID>1</CustomerID>
<FirstName>G</FirstName>
<LastName>Graam</LastName>
<Age>27</Age>
<CustomerHireDate>
<HireDate>
<HireFromDate>15.07.2012</HireFromDate>
<HireToDate>29.07.2012</HireToDate>
</HireDate>
</CustomerHireDate>
</Customer>
</ArrayOfCustomer>
これまでのところ、データグリッドに子孫の子孫を入力しようとする以下の方法にこだわっています。
string uriShowCarHires = "http://localhost:8002/Service/Customer/{anything}";
string Uri = uriShowCarHires.Replace("{anything}", textBox1.Text);
XDocument xDoc = XDocument.Load(Uri);
foreach (var node in xDoc.Descendants("Customer"))
{
\\..... how do you get the descendants of descendants for each n.element?
}
これが私の考えているようにデータグリッドにデータを入力するかどうかはわかりませんが、データグリッドセルの1つの中に「配列」が入るのを避けたいと思っていました。次のような出力 abit を探しています。
Name etc | HireFromDate | HireToDate
G 09.12.2012 01.01.2013
誰かが助けてくれたら感謝します