0

getval という名前の文字列に応答 xml があります。
すべての「fromsector」ノード値を選択し、その値をデータベースの対応する値Banに置き換えたいとします。たとえば、 bangalore..

XmlNodeList と XmlNode を試しましたが、どれも機能しませんでした。助けてください。

c#

 XmlDocument doc = new XmlDocument();
                    doc.Load(Server.MapPath("~/XMLFile1.xml"));
                    XmlNodeList fromselectors;
                    XmlElement root = doc.DocumentElement;
                    fromselectors = root.SelectNodes("SearchResults/FlightSegments/Flights/LegDetails/Leg/FromSector");
                    foreach (XmlNode n in fromselectors)
                    {
                        con.Open();
                        cmd.Connection = con;
                        string xmls = n.InnerXml;
                        cmd.CommandText = "select City from CCode where Code='" + xmls + "'";
                        cmd.ExecuteNonQuery();
                        con.Close();
                    }
                    doc.Save(Server.MapPath("~/XMLFile1.xml"));
4

1 に答える 1

2

XPath を使用して xml から必要なノードを取得し、値を更新します。

        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("~/temp.xml"));

        //Selecting node with number='3'
        XmlNodeList fromselectors;
        XmlElement root = doc.DocumentElement;
        fromselectors = root.SelectNodes("SearchResults/FlightSegments/Flights/LegDetails/Leg/FromSector");

        con.Open();
        cmd.Connection = con;
        foreach (XmlNode n in fromselectors)
        {                                   
           string xmls = n.InnerXml;
           cmd.CommandText = "select City from CCode where Code='" + xmls + "'";
           string city = cmd.ExecuteScalar().ToString();
           n.InnerText = city;
        }
        con.Close();
        doc.Save(Server.MapPath("~/temp.xml"));
于 2013-10-08T04:57:17.490 に答える