把这些东西"@MONITORTIME",存到一个数组中strInfo[]。 遍历<child>的.ChildNodes,得到每个value的值,绑定到cmd XmlDocument xml = new XmlDocument(); xml.Load(xmlpath);//加载xml文件 XmlNodeList list=xml.SelectSingleNode("root").ChildNodes[0].ChildNodes; foreach (XmlElement node in list) { int i = 0; if (node.Name == "value") { SqlParameter sp = new SqlParameter(strInfo[i], node.InnerText); cmd.Parameters.Add(sp); } }代码没测试,大概就是这个意思
严重有问题这个是我自己写的。。值循环到了。。但是绑定的不知道怎么给 XElement el = XElement.Parse(newString); IEnumerable<XElement> elChilds = el.Elements("child"); #region //foreach (XElement e in elChilds) //{ // Console.WriteLine(e.Name.LocalName); // Console.WriteLine(e.Value);//获取或设置此元素的名称。 // Console.WriteLine(e.NextNode); // //Console.WriteLine(e.Name.Namespace); //} #endregion StringBuilder SalerSQL = new StringBuilder(); StringBuilder InsertSQL = new StringBuilder(); int count = 0; foreach (XElement item in el.Elements("child")) { foreach (XElement items in item.Elements("value")) { if (items.Name == "value") { //Console.WriteLine(strinfo); Console.WriteLine(items.Value); #region 绑定参数 SqlParameter[] sp ={ new SqlParameter("@MONITORTIME",items.Value), new SqlParameter("@Station",item.Element("Sstation").Value), new SqlParameter("@CityName",item.Element("CityName").Value), new SqlParameter("@AQI",item.Element("AQI").Value), new SqlParameter("@PM25",item.Element("PM25").Value), new SqlParameter("@PM10",item.Element("PM10").Value), new SqlParameter("@SO2",item.Element("SO2").Value), new SqlParameter("@NO2",item.Element("NO2").Value), new SqlParameter("@O3",item.Element("O31").Value), new SqlParameter("@CO",item.Element("CO").Value), new SqlParameter("@MaxPoll",item.Element("MaxPoll").Value), new SqlParameter("@LevelIndex",item.Element("LevelIndex").Value), }; SqlParameter[] cityName ={ new SqlParameter("@CityName",item.Element("CityName").Value), }; #endregion }
}
严重有问题这个是我自己写的。。值循环到了。。但是绑定的不知道怎么给 XElement el = XElement.Parse(newString); IEnumerable<XElement> elChilds = el.Elements("child"); #region //foreach (XElement e in elChilds) //{ // Console.WriteLine(e.Name.LocalName); // Console.WriteLine(e.Value);//获取或设置此元素的名称。 // Console.WriteLine(e.NextNode); // //Console.WriteLine(e.Name.Namespace); //} #endregion StringBuilder SalerSQL = new StringBuilder(); StringBuilder InsertSQL = new StringBuilder(); int count = 0; foreach (XElement item in el.Elements("child")) { foreach (XElement items in item.Elements("value")) { if (items.Name == "value") { //Console.WriteLine(strinfo); Console.WriteLine(items.Value); #region 绑定参数 SqlParameter[] sp ={ new SqlParameter("@MONITORTIME",items.Value), new SqlParameter("@Station",item.Element("Sstation").Value), new SqlParameter("@CityName",item.Element("CityName").Value), new SqlParameter("@AQI",item.Element("AQI").Value), new SqlParameter("@PM25",item.Element("PM25").Value), new SqlParameter("@PM10",item.Element("PM10").Value), new SqlParameter("@SO2",item.Element("SO2").Value), new SqlParameter("@NO2",item.Element("NO2").Value), new SqlParameter("@O3",item.Element("O31").Value), new SqlParameter("@CO",item.Element("CO").Value), new SqlParameter("@MaxPoll",item.Element("MaxPoll").Value), new SqlParameter("@LevelIndex",item.Element("LevelIndex").Value), }; SqlParameter[] cityName ={ new SqlParameter("@CityName",item.Element("CityName").Value), }; #endregion }
严重有问题这个是我自己写的。。值循环到了。。但是绑定的不知道怎么给 XElement el = XElement.Parse(newString); IEnumerable<XElement> elChilds = el.Elements("child"); #region //foreach (XElement e in elChilds) //{ // Console.WriteLine(e.Name.LocalName); // Console.WriteLine(e.Value);//获取或设置此元素的名称。 // Console.WriteLine(e.NextNode); // //Console.WriteLine(e.Name.Namespace); //} #endregion StringBuilder SalerSQL = new StringBuilder(); StringBuilder InsertSQL = new StringBuilder(); int count = 0; foreach (XElement item in el.Elements("child")) { foreach (XElement items in item.Elements("value")) { if (items.Name == "value") { //Console.WriteLine(strinfo); Console.WriteLine(items.Value); #region 绑定参数 SqlParameter[] sp ={ new SqlParameter("@MONITORTIME",items.Value), new SqlParameter("@Station",item.Element("Sstation").Value), new SqlParameter("@CityName",item.Element("CityName").Value), new SqlParameter("@AQI",item.Element("AQI").Value), new SqlParameter("@PM25",item.Element("PM25").Value), new SqlParameter("@PM10",item.Element("PM10").Value), new SqlParameter("@SO2",item.Element("SO2").Value), new SqlParameter("@NO2",item.Element("NO2").Value), new SqlParameter("@O3",item.Element("O31").Value), new SqlParameter("@CO",item.Element("CO").Value), new SqlParameter("@MaxPoll",item.Element("MaxPoll").Value), new SqlParameter("@LevelIndex",item.Element("LevelIndex").Value), }; SqlParameter[] cityName ={ new SqlParameter("@CityName",item.Element("CityName").Value), }; #endregion }
} 我也想啊 我组长规定的啊。。我还想序列化呢。。更简单。。没办法啊 帮我想想怎么弄吧 谢谢你啊
刚刚测试过了,是没有问题的,如果你不改你的xml的话,就把strInfo这个数组对应的信息和xm按顺序l对应上。比如DataTime对应"@MONITORTIME",CityName对应"@Station",以此类推。 string[] strInfo=new string[]{"@MONITORTIME","@Station"}; SqlParameter[] sps=new SqlParameter[10]; XmlDocument xml = new XmlDocument(); xml.Load(@"F:\XMLTEST\WindowsFormsApplication1\WindowsFormsApplication1\XMLFile1.xml");//加载xml文件 XmlNodeList list = xml.SelectSingleNode("root").ChildNodes[0].ChildNodes; foreach (XmlElement node in list) { int i = 0; if (node.Name == "value") { SqlParameter sp = new SqlParameter(strInfo[i], node.InnerText); sps[i] = sp; i++; } }
var rssXDoc = XDocument.Load(@"1.xml"); var query = rssXDoc.Descendants("value").DescendantsAndSelf().Where(x => x.Name == "value").ToList(); MessageBox.Show(query[0].Value); SqlParameter[] sp ={ new SqlParameter("@MONITORTIME",query[0].Value), new SqlParameter("@Station",query[1].Value), new SqlParameter("@CityName",query[2].Value), new SqlParameter("@AQI",query[3].Value), new SqlParameter("@PM25",query[4].Value), new SqlParameter("@PM10",query[5].Value), new SqlParameter("@SO2",query[6].Value), new SqlParameter("@NO2",query[7].Value), new SqlParameter("@O3",query[8].Value), new SqlParameter("@CO",query[9].Value), new SqlParameter("@MaxPoll",query[10].Value), new SqlParameter("@LevelIndex",query[11].Value), };
..我这个不是本地XML是HTTP上面直接拼接的。。 XElement el = XElement.Parse(newString); IEnumerable<XElement> elChilds = el.Elements("child");我是这么加载的要怎么弄。
var rssXDoc = XDocument.Load("http://www.cnblogs.com/....");
遍历<child>的.ChildNodes,得到每个value的值,绑定到cmd XmlDocument xml = new XmlDocument();
xml.Load(xmlpath);//加载xml文件
XmlNodeList list=xml.SelectSingleNode("root").ChildNodes[0].ChildNodes;
foreach (XmlElement node in list)
{
int i = 0;
if (node.Name == "value")
{
SqlParameter sp = new SqlParameter(strInfo[i], node.InnerText);
cmd.Parameters.Add(sp);
}
}代码没测试,大概就是这个意思
{
SqlParameter sp = new SqlParameter(strInfo[i], node.InnerText);
cmd.Parameters.Add(sp);
i++;
}
严重有问题这个是我自己写的。。值循环到了。。但是绑定的不知道怎么给
XElement el = XElement.Parse(newString);
IEnumerable<XElement> elChilds = el.Elements("child");
#region
//foreach (XElement e in elChilds)
//{
// Console.WriteLine(e.Name.LocalName);
// Console.WriteLine(e.Value);//获取或设置此元素的名称。
// Console.WriteLine(e.NextNode);
// //Console.WriteLine(e.Name.Namespace);
//}
#endregion
StringBuilder SalerSQL = new StringBuilder();
StringBuilder InsertSQL = new StringBuilder();
int count = 0;
foreach (XElement item in el.Elements("child"))
{
foreach (XElement items in item.Elements("value"))
{
if (items.Name == "value")
{
//Console.WriteLine(strinfo);
Console.WriteLine(items.Value);
#region 绑定参数
SqlParameter[] sp ={
new SqlParameter("@MONITORTIME",items.Value),
new SqlParameter("@Station",item.Element("Sstation").Value),
new SqlParameter("@CityName",item.Element("CityName").Value),
new SqlParameter("@AQI",item.Element("AQI").Value),
new SqlParameter("@PM25",item.Element("PM25").Value),
new SqlParameter("@PM10",item.Element("PM10").Value),
new SqlParameter("@SO2",item.Element("SO2").Value),
new SqlParameter("@NO2",item.Element("NO2").Value),
new SqlParameter("@O3",item.Element("O31").Value),
new SqlParameter("@CO",item.Element("CO").Value),
new SqlParameter("@MaxPoll",item.Element("MaxPoll").Value),
new SqlParameter("@LevelIndex",item.Element("LevelIndex").Value),
};
SqlParameter[] cityName ={
new SqlParameter("@CityName",item.Element("CityName").Value),
};
#endregion
}
}
严重有问题这个是我自己写的。。值循环到了。。但是绑定的不知道怎么给
XElement el = XElement.Parse(newString);
IEnumerable<XElement> elChilds = el.Elements("child");
#region
//foreach (XElement e in elChilds)
//{
// Console.WriteLine(e.Name.LocalName);
// Console.WriteLine(e.Value);//获取或设置此元素的名称。
// Console.WriteLine(e.NextNode);
// //Console.WriteLine(e.Name.Namespace);
//}
#endregion
StringBuilder SalerSQL = new StringBuilder();
StringBuilder InsertSQL = new StringBuilder();
int count = 0;
foreach (XElement item in el.Elements("child"))
{
foreach (XElement items in item.Elements("value"))
{
if (items.Name == "value")
{
//Console.WriteLine(strinfo);
Console.WriteLine(items.Value);
#region 绑定参数
SqlParameter[] sp ={
new SqlParameter("@MONITORTIME",items.Value),
new SqlParameter("@Station",item.Element("Sstation").Value),
new SqlParameter("@CityName",item.Element("CityName").Value),
new SqlParameter("@AQI",item.Element("AQI").Value),
new SqlParameter("@PM25",item.Element("PM25").Value),
new SqlParameter("@PM10",item.Element("PM10").Value),
new SqlParameter("@SO2",item.Element("SO2").Value),
new SqlParameter("@NO2",item.Element("NO2").Value),
new SqlParameter("@O3",item.Element("O31").Value),
new SqlParameter("@CO",item.Element("CO").Value),
new SqlParameter("@MaxPoll",item.Element("MaxPoll").Value),
new SqlParameter("@LevelIndex",item.Element("LevelIndex").Value),
};
SqlParameter[] cityName ={
new SqlParameter("@CityName",item.Element("CityName").Value),
};
#endregion
}
}
我晕,我以为你的"@MONITORTIME"直接就和value对应的,你xml干嘛这么写?
为什么不<value key="DataTime">2014-03-25 08:00:00</value>这么写?
严重有问题这个是我自己写的。。值循环到了。。但是绑定的不知道怎么给
XElement el = XElement.Parse(newString);
IEnumerable<XElement> elChilds = el.Elements("child");
#region
//foreach (XElement e in elChilds)
//{
// Console.WriteLine(e.Name.LocalName);
// Console.WriteLine(e.Value);//获取或设置此元素的名称。
// Console.WriteLine(e.NextNode);
// //Console.WriteLine(e.Name.Namespace);
//}
#endregion
StringBuilder SalerSQL = new StringBuilder();
StringBuilder InsertSQL = new StringBuilder();
int count = 0;
foreach (XElement item in el.Elements("child"))
{
foreach (XElement items in item.Elements("value"))
{
if (items.Name == "value")
{
//Console.WriteLine(strinfo);
Console.WriteLine(items.Value);
#region 绑定参数
SqlParameter[] sp ={
new SqlParameter("@MONITORTIME",items.Value),
new SqlParameter("@Station",item.Element("Sstation").Value),
new SqlParameter("@CityName",item.Element("CityName").Value),
new SqlParameter("@AQI",item.Element("AQI").Value),
new SqlParameter("@PM25",item.Element("PM25").Value),
new SqlParameter("@PM10",item.Element("PM10").Value),
new SqlParameter("@SO2",item.Element("SO2").Value),
new SqlParameter("@NO2",item.Element("NO2").Value),
new SqlParameter("@O3",item.Element("O31").Value),
new SqlParameter("@CO",item.Element("CO").Value),
new SqlParameter("@MaxPoll",item.Element("MaxPoll").Value),
new SqlParameter("@LevelIndex",item.Element("LevelIndex").Value),
};
SqlParameter[] cityName ={
new SqlParameter("@CityName",item.Element("CityName").Value),
};
#endregion
}
}
我也想啊 我组长规定的啊。。我还想序列化呢。。更简单。。没办法啊
帮我想想怎么弄吧 谢谢你啊
SqlParameter[] sps=new SqlParameter[10];
XmlDocument xml = new XmlDocument();
xml.Load(@"F:\XMLTEST\WindowsFormsApplication1\WindowsFormsApplication1\XMLFile1.xml");//加载xml文件
XmlNodeList list = xml.SelectSingleNode("root").ChildNodes[0].ChildNodes;
foreach (XmlElement node in list)
{
int i = 0;
if (node.Name == "value")
{
SqlParameter sp = new SqlParameter(strInfo[i], node.InnerText);
sps[i] = sp;
i++;
}
}
var rssXDoc = XDocument.Load(@"1.xml");
var query = rssXDoc.Descendants("value").DescendantsAndSelf().Where(x => x.Name == "value").ToList();
MessageBox.Show(query[0].Value);
SqlParameter[] sp ={
new SqlParameter("@MONITORTIME",query[0].Value),
new SqlParameter("@Station",query[1].Value),
new SqlParameter("@CityName",query[2].Value),
new SqlParameter("@AQI",query[3].Value),
new SqlParameter("@PM25",query[4].Value),
new SqlParameter("@PM10",query[5].Value),
new SqlParameter("@SO2",query[6].Value),
new SqlParameter("@NO2",query[7].Value),
new SqlParameter("@O3",query[8].Value),
new SqlParameter("@CO",query[9].Value),
new SqlParameter("@MaxPoll",query[10].Value),
new SqlParameter("@LevelIndex",query[11].Value),
};
..我这个不是本地XML是HTTP上面直接拼接的。。
XElement el = XElement.Parse(newString);
IEnumerable<XElement> elChilds = el.Elements("child");我是这么加载的要怎么弄。
LINQ的我没做过你看10楼的大神吧、、、