2

<S>listBox1 でアイテムを選択するときに、関連する要素の値を 2 番目の listBox に入力する方法を理解する必要があります。listBox1 の項目は、関連する (属性値による)<V>要素の連結値です。

次の XML があります。

<ServiceHistoryArray>
    <RecordID>XD116067*401529</RecordID>
    <SWR>
        <V Idx="1">7932</V><V Idx="2">7932</V><V Idx="3">7932</V><V Idx="4">7932</V>
    </SWR>
    <Comments/>
    <Mileage>6</Mileage>
    <Operation>
        <V Idx="1">Z7000*WPDIP****PRE-DELIVERY INSPECTION - BASE TIME</V><V Idx="2">Z911*INC****ETCH WINDOWS</V><V Idx="3">B0048*WPBS4****FASCIA, FRONT BUMPER - REPLACE ONE PIECE</V><V Idx="4">9997*WPBS4****</V>
    </Operation>
    <CloseDate>1998-12-30</CloseDate>
    <OpenDate>1998-10-16</OpenDate>
    <PartsAmount>
        <V Idx="1">0.00</V><V Idx="2">0.00</V><V Idx="3">166.32</V><V Idx="4">0.00</V>
    </PartsAmount>
    <LaborAmount>
        <V Idx="1">64.80</V><V Idx="2">3.60</V><V Idx="3">140.40</V>
    </LaborAmount>
    <Warranty>
        <S Idx="1">&#xfc;96&#xfc;0&#xfd;&#xfd;10232632&#xfc;4H&#xfc;1</S><S Idx="2">&#xfc;96&#xfc;0&#xfd;&#xfd;10232632&#xfc;4H&#xfc;1</S><S Idx="3">&#xfc;96&#xfc;0&#xfd;&#xfd;10232632&#xfc;4H&#xfc;1</S>
    </Warranty>
</ServiceHistoryArray>  

私は次のc#コードを持っています:

//  Linq query to find all service history line items
var queryDetail = from v in xdoc.Descendants("V")
            group v by (int)v.Attribute("Idx") into g
            select String.Join(" ", g.Select(x => (string)x));

//  Iterates through the linq query and populates listBox1 with the servcie history details
foreach (string serviceInfo in queryDetail)
{
    listBox1.Items.Add(serviceInfo);
}  

明確にするために:

LINQ クエリは、(属性値によって) 関連するすべての<V>要素を取得し、それらを 1 行に連結して、listBox1 に追加します。

<S>関連する (属性値による) アイテムが listBox1 で選択されたときに、listBox2 に適切な要素を表示させる必要があります。

さらに説明や情報が必要な場合はお知らせください。

2013/07/29: まだヒットなし。助けを得るために必要な、質問から省略したものはありますか?

4

0 に答える 0