0

PC にある XML ファイルから読み取ろうとしています。この関数は、文字列値を使用して静的関数を渡します。トランザクションごとに、いわゆる「ノード」を作成したいと思います。私は C++/Java のバックグラウンドを持っているので、Array of Arrays と言いたいです。すべてのリストには、その中にあるもののリストがあります。トランザクションのリスト、および全員のトランザクションには、そのトランザクションに対応するティッカー値、アクション値、日付値、および株式値があります。これは私がこれまでに持っているものです。

XML ファイル

<stocks>
<transaction>
<ticker>GOOG</ticker>
<action>buy</action>
<date>20071116</date>
<shares>44</shares>
</transaction>
<transaction>
<ticker>IBMX</ticker>
<action>buy</action>
<date>20080104</date>
<shares>350</shares>
</transaction>

C# コード

public static  void readXML(string filename)
    {
        XmlTextReader reader = new XmlTextReader(filename);
        List<List<string>> transList = new List<List<string>>();
        XmlNode node = 

        foreach(var transaction in reader())
        {
            transList.Add(new Transaction(node.get ticker,node.action,node.date,node.shares)

        }
4

1 に答える 1

0
    public class Transaction
    {
        public string Ticker {get; set;}
        public string Action {get; set;}
        public string Date {get; set;}
        public int NumShares {get; set;}
    }

    private List<Transaction> getTransactionsFromFile(string filename)
    {
        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(filename);
        List<Transaction> tranList = new List<Transaction>();

        foreach (XmlNode x in xDoc)
        {
            if (x.Name == "stocks")
            {
                foreach (XmlNode y in x.ChildNodes)
                {
                    if (y.Name == "transaction")
                    {
                        Transaction tempTran = new Transaction();
                        foreach (XmlNode z in y.ChildNodes)
                        {
                            if (z.Name == "ticker")
                            {
                                tempTran.Ticker= z.InnerText;
                            }
                            if (z.Name == "action")
                            {
                                tempTran.Action= z.InnerText;
                            }
                            if (z.Name == "date")
                            {
                                tempTran.Date = z.InnerText;
                            }
                            if (z.Name == "shares")
                            {
                                tempTran.NumShares = int.Parse(z.InnerText);
                            }

                            if (z.Name == "PassOutputToChildSteps")
                        }
                        //add the constructed Transaction Object to the Transaction List...
                        tranList.Add(tempTran);
                    }
                }
            }
        }
        return tranList;
    }
于 2013-02-18T03:38:13.710 に答える