c#关于xml读取的问题(web) 把XML读入XmlDocumnet,遍历XmlDocument的节点,显示节点名称:显示节点的值linkname里节点的个数变化没有关系。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 XmlDocument doc = new XmlDocument(); doc.Load(@"c:\t.xml"); XmlNodeList xnl = doc.SelectNodes("/linkname/*"); foreach (XmlNode n in xnl) { MessageBox.Show(n.Name + ":" + n.InnerText); } XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("2.xml"); XmlNode root=xmlDoc.SelectSingleNode("linkname"); foreach (XmlNode n in xnl) { textbox1.text+=xnl.name; } 对,跟你的节点有多少个元素没有关系,你遍历就行了: XmlDocument doc = new XmlDocument(); doc.Load("test1.xml"); XmlNodeList list = doc.SelectNodes("//linkname");//得到所有的linkname节点 foreach (XmlNode node in list) {//遍历所有的linkname节点 foreach (XmlNode subNode in node.ChildNodes) {//遍历每个linkname节点的字节点 string strName = subNode.Name; //节点名 string strValue = subNode.InnerText; //节点值 } } 最快的方法XMLREADER string configPath = System.IO.Path.GetFullPath(@"Win.config"); System.Xml.XmlTextReader ConfigXTR = new System.Xml.XmlTextReader(configPath); while ( ConfigXTR.Read() ) { //定位到配置节点 if (ConfigXTR.NodeType == XmlNodeType.Element && ConfigXTR.Name == "appSettings") { while (ConfigXTR.Read()) { //结束时退出读取 if (ConfigXTR.NodeType == XmlNodeType.EndElement && ConfigXTR.Name == "appSettings") { break; } if (ConfigXTR.NodeType == XmlNodeType.Element && ConfigXTR.Name == "add") { //定位到属性 ConfigXTR.MoveToAttribute("key"); switch ( ConfigXTR.Value ) { case "DataBaseName": { ConfigXTR.MoveToAttribute("value"); m_connType.DataBaseName = ConfigXTR.Value; break; } case "UserID": { ConfigXTR.MoveToAttribute("value"); m_connType.UserID = ConfigXTR.Value; break; } case "Password": { ConfigXTR.MoveToAttribute("value"); m_connType.Password = ConfigXTR.Value; break; } case "IntegratedSecurity": { ConfigXTR.MoveToAttribute("value"); if ( ConfigXTR.Value.ToUpper() == "FALSE" ) m_connType.IntegratedSecurity = false; else m_connType.IntegratedSecurity = true; break; } case "ServerName": { ConfigXTR.MoveToAttribute("value"); m_connType.ServerName = ConfigXTR.Value; break; } case "ConnectTimeout": { ConfigXTR.MoveToAttribute("value"); m_connType.ConnectTimeout = Convert.ToInt32(ConfigXTR.Value); break; } default: break; } } } } } }自己理解,修改一下吧 跨服务器拷贝图片 在线等 给一些有用的意见也好 有代码最好 C#中panel控件全屏显示问题 c#生成 首页页眉不同的word 如何把控件装到工具栏中 C#连接Access数据库问题 backgroundWorker 组件,dowork事件执行2次的问题 谁来解释一下这个现象 IDbDataAdapter, CommandBuilder DataGridView使作 Excel 就50分了,关于调用WORD部分功能的问题,在线等那,急!!1!!!! 怎么解决这个错误 ?"An object reference is required for the nonstatic field"
doc.Load(@"c:\t.xml"); XmlNodeList xnl = doc.SelectNodes("/linkname/*"); foreach (XmlNode n in xnl)
{
MessageBox.Show(n.Name + ":" + n.InnerText);
}
xmlDoc.Load("2.xml");
XmlNode root=xmlDoc.SelectSingleNode("linkname");
foreach (XmlNode n in xnl)
{
textbox1.text+=xnl.name;
}
doc.Load("test1.xml"); XmlNodeList list = doc.SelectNodes("//linkname");//得到所有的linkname节点 foreach (XmlNode node in list)
{//遍历所有的linkname节点
foreach (XmlNode subNode in node.ChildNodes)
{//遍历每个linkname节点的字节点
string strName = subNode.Name; //节点名
string strValue = subNode.InnerText; //节点值
}
}
string configPath = System.IO.Path.GetFullPath(@"Win.config");
System.Xml.XmlTextReader ConfigXTR = new System.Xml.XmlTextReader(configPath); while ( ConfigXTR.Read() )
{
//定位到配置节点
if (ConfigXTR.NodeType == XmlNodeType.Element && ConfigXTR.Name == "appSettings")
{
while (ConfigXTR.Read())
{
//结束时退出读取
if (ConfigXTR.NodeType == XmlNodeType.EndElement && ConfigXTR.Name == "appSettings")
{
break;
} if (ConfigXTR.NodeType == XmlNodeType.Element && ConfigXTR.Name == "add")
{
//定位到属性
ConfigXTR.MoveToAttribute("key");
switch ( ConfigXTR.Value )
{
case "DataBaseName":
{
ConfigXTR.MoveToAttribute("value");
m_connType.DataBaseName = ConfigXTR.Value;
break;
}
case "UserID":
{
ConfigXTR.MoveToAttribute("value");
m_connType.UserID = ConfigXTR.Value;
break;
}
case "Password":
{
ConfigXTR.MoveToAttribute("value");
m_connType.Password = ConfigXTR.Value;
break;
}
case "IntegratedSecurity":
{
ConfigXTR.MoveToAttribute("value"); if ( ConfigXTR.Value.ToUpper() == "FALSE" )
m_connType.IntegratedSecurity = false;
else
m_connType.IntegratedSecurity = true;
break;
}
case "ServerName":
{
ConfigXTR.MoveToAttribute("value");
m_connType.ServerName = ConfigXTR.Value;
break;
}
case "ConnectTimeout":
{
ConfigXTR.MoveToAttribute("value");
m_connType.ConnectTimeout = Convert.ToInt32(ConfigXTR.Value);
break;
}
default:
break;
}
}
}
}
}
}
自己理解,修改一下吧