以下のコードを実行すると、以下のXMLのすべてのサービスが取得されます。XML内で別の要素を選択するWindows Phone
しかし、一つの要素の外側にあるサービスが、残りの部分があるがである。
私は1つのリストにあるように、すべてのサービスを必要とします。
XMLサービスの「1」は外側ですが、「1a」サービスは内部にあり、残りはここにあります。
1つのリスト内のすべてのサービスを選択するために、次のコードまたは追加コードを変更するにはどうすればよいですか?
var routeNames = (from n in doc.Descendants(ns + "ArrayOfService
select new RootContainer
{
Stops = (from s in n.Elements(ns + "Service").Elements(ns + "client").Elements(ns + "services").Elements(ns + "Service")
select new Stops
{
NaptanCode = s.Element(ns + "serviceDescription").Value,
StopName = "/Images/Services/" + s.Element(ns + "serviceName").Value + ".png",
StopId = s.Element(ns + "serviceId").Value
}).ToList()
}).Single();
listServices.ItemsSource = routeNames.Stops;
のxml: <ArrayOfService xmlns="http://schemas.datacontract.org/2004/07/BusExpress.ClassLibrary" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Service z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/"> <client z:Id="i3"> <services>
<Service z:Id="i5"> <serviceDescription>Whitehawk - County Hospital - City Centre - Hove - Portslade - Mile Oak</serviceDescription> <serviceName>1A</serviceName> <serviceText>Whitehawk - Mile Oak</serviceText> </Service> </services> </client> <serviceDescription>Whitehawk - County Hospital - City Centre - Hove - Portslade - Mile Oak</serviceDescription> <serviceName>1</serviceName> </Service> </ArrayOfService>
ありがとう、これは同じ結果をもたらします。それは1aだけでなく1も示しています。 –
サービス1はより高いレベルにあり、サービス1Aは、両方のレベルを取得するコードを変更しました – jdweng
もう一度見てください。あなたは今1(1Aではなく)を取得しています。1Aは1の子として隠れていて、矢印を押すことで開くことができます。 1〜14はヌルの他のサービスです。 – jdweng