<conn>
<connstr>
<connno>adc10</connno>
<connection_string>Server=DATA-cw;database=adc10;uid=22;pwd=22</connection_string>
</connstr>
<connstr>
<connno>adc20</connno>
<connection_string>Server=ee-cw;database=adc20;uid=22;pwd=22</connection_string>
</connstr><connstr>
<connno>adc30</connno>
<connection_string>Server=ee-cw;database=adc30;uid=zx;pwd=22</connection_string>
</connstr>
..............
</conn>问题是:当读取到<connno>adc30</connno>中的值时,保存为Session的名字,读到<connection_string>Server=ee-cw;database=adc30;uid=zx;pwd=22</connection_string>
时,保存到刚刚的Session中;
这个怎么写?xml读取:
string result;
string sessionname="";
while (reader.Read())
{
if (reader.Name == "connstr")
{
result = "";
for (int count = 0; count < reader.AttributeCount; count++)
{
result += "---";
}
result += "->" + reader.ReadInnerXml() + "<br/>";
this.mEmployeesLabel.Text += result;
}
}
<connstr>
<connno>adc10</connno>
<connection_string>Server=DATA-cw;database=adc10;uid=22;pwd=22</connection_string>
</connstr>
<connstr>
<connno>adc20</connno>
<connection_string>Server=ee-cw;database=adc20;uid=22;pwd=22</connection_string>
</connstr><connstr>
<connno>adc30</connno>
<connection_string>Server=ee-cw;database=adc30;uid=zx;pwd=22</connection_string>
</connstr>
..............
</conn>问题是:当读取到<connno>adc30</connno>中的值时,保存为Session的名字,读到<connection_string>Server=ee-cw;database=adc30;uid=zx;pwd=22</connection_string>
时,保存到刚刚的Session中;
这个怎么写?xml读取:
string result;
string sessionname="";
while (reader.Read())
{
if (reader.Name == "connstr")
{
result = "";
for (int count = 0; count < reader.AttributeCount; count++)
{
result += "---";
}
result += "->" + reader.ReadInnerXml() + "<br/>";
this.mEmployeesLabel.Text += result;
}
}
_xml.load(路径);
XmlNode _node =_xml.SelecteSingleNode("//conn//connstr[connno='adc30']");
Session["adc30 "] = _node.ChildNode.items(1).InnerText;
当你取值时又怎么确定session的名字呢?
(也许这些名字都是固定的,你是直接写出一个去取)建议放在hashtable中
Hashtable ht = new Hashtable();
set: ht[key] = value;
get: string str = (string)ht[key];
set: Session["servers"] = ht;
get: Hashtable ht = (Hashtable)Session["servers"];
<connstr>
<connno>adc10 </connno>
<connection_string>Server=DATA-cw;database=adc10;uid=22;pwd=22 </connection_string>
</connstr>
希望读取xml以后结果成这个样子
Session["adc10"]="Server=DATA-cw;database=adc10;uid=22;pwd=22";
Session["adc20"]="Server=DATA-cw;database=adc20;uid=22;pwd=22"
等很多;
XmlDocument xml = new XmlDocument();
xml.Load(Server.MapPath("~/XMLFile.xml"));
XmlNodeList nodeList = xml.SelectNodes("/connstr");
foreach (XmlNode xn in nodeList)
{
Session[xn.ChildNodes.Item(0).InnerText] = xn.ChildNodes.Item(1).InnerText;
}
<?xml version="1.0" encoding="utf-8" ?>
<root>
<connstr>
<connno>adc30 </connno>
<connection_string>Server=ee-cw;database=adc30;uid=zx;pwd=22</connection_string>
</connstr>
<connstr>
<connno>adc40 </connno>
<connection_string>Server=ee-cw;database=adc30;uid=zx;pwd=22</connection_string>
</connstr>
</root> XmlDocument xml = new XmlDocument();
xml.Load(Server.MapPath("~/XMLFile.xml"));
XmlNodeList nodeList = xml.SelectNodes("root//connstr");
foreach (XmlNode xn in nodeList)
{
Session[xn.ChildNodes.Item(0).InnerText] = xn.ChildNodes.Item(1).InnerText;
}
foreach(XmlNode xn in nodeList)
{
XmlElement xe=(XmlElement)xn;
XmlNodeList nls=xe.ChildNodes;
foreach(XmlNode xn1 in nls)
{
XmlElement xe2=(XmlElement)xn1;
if(xe2.Name=="connection_string")
{
session["conn"]= xe2.InnerText; //保存到SEssion,这里想怎么保存你自己写
}
}
}