0

私はこのXMLファイル設定を持っています.どうすれば(LINQを使用して)(StartItem)のリストをArrayListに返すことができますか

そして return( PriceItem) を別の ArrayList に

<Settings>
    <ConSetting SettingID="1">
         <Company CompanyID="1" CompanyName="CA" Code="*100#" Pin="11111" MobileName="M1">
            <StartItems StartID="1"> 094</StartItems>
            <StartItems StartID="2"> 095</StartItems>
            <StartItems StartID="4"> 097</StartItems>
            <StartItems StartID="5"> 098</StartItems>
        </Company>
        <Company CompanyID="2" CompanyName="CB" Code="*200#" Pin="22222" MobileName="M2">
            <StartItems StartID="1"> 099</StartItems>
            <StartItems StartID="2"> 093</StartItems>
            <StartItems StartID="3"> 091</StartItems>
            <StartItems StartID="4"> 092</StartItems>

        </Company>
    </ConSetting>
    <Price SettingID ="2" CompanyName="CA" >
             <Company CompanyID="1">
            <PriceItem P="40"> 50</PriceItem>
            <PriceItem P="90"> 100</PriceItem>
            <PriceItem P="200"> 225</PriceItem>

        </Company>
        <Company CompanyID="2" CompanyName="CB" >
            <PriceItem P="40"> 60</PriceItem>
            <PriceItem P="90"> 110</PriceItem>
            <PriceItem P="200"> 235</PriceItem>

        </Company>
    </Price>

</Settings>
4

2 に答える 2

2

XDocument はあなたの場合に使いやすいです:

var doc = XDocument.Load("settings.xml");
var result = from items in doc.Descendants("StartItems")
             where items.Parent.Attribute("CompanyID").Value == "1"
             select new StartItem() 
             {
                 StartID = items.Attribute("StartID").Value,
                 Value = items.Value
             };
var Company1List = new ArrayList();

foreach(var item in result)
{
    Company1List.Add(item);
}

public class StartItem
{
    public string StartID { get; set; }
    public string Value { get; set; }
}
于 2012-06-10T13:55:01.813 に答える
0

.NET の XmlReader クラスを参照してください。

この XML を簡単に解析できるはずです。その後、ノードから特定の項目を選択して、任意のリストに入れることができます。

http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx

この質問と回答を見て

C# で XmlReader を使用して Xml を読み取る

于 2012-06-10T11:13:52.030 に答える