<Customers>
<User name="aaa" age="21">
<Address>
Shanghai
</Address>
<Technology>
C#
</Technology>
</User>
<User name="bbb" age="22">
<Address>
Zhejiang
</Address>
<Technology>
javascript
</Technology>
</User>
<User name="ccc" age="23">
<Address>
Zhejiang
</Address>
<Technology>
Delphi
</Technology>
</User>
</Customers>--请问,我如果要获取 name="bbb" 的节点下面的 Address节点的值zhejiang,C#应该怎么写呢?
解决方案 »
- winform 数据拖拽,急,谢谢
- 自己建立的usercontrol,怎样不让用户可以在设计环境中改变其大小
- maxcode如何混淆exe文件并生成exe文件
- C# 如何实现 服务器流量监测
- 注册码是怎么做的??
- 关于c#中decimal和sql server中decimal数据类型的问题
- 谁知道C#中总共封装了多少个类?
- 急求.net 2005 连接 sql server 2000 故障解决方案
- 如何在两个页面上传递DataGrid控件?
- .net 中的 Lookup<string,Element> Dictionary<key,val> 效率哪个更高?
- 继续请教,如何直接向服务器提交信息
- 多线程管理问题
{
SqlConnection G_Con = null; ;
try
{
string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "参数配置.xml");
if (File.Exists(configFile))
{
XmlOperator xmlOperator = new XmlOperator(configFile);
int size = xmlOperator.GetXmlReader().Length;
string[] getDataBaseInfo = new string[size]; for (int i = 0; i < size; i++)
{
getDataBaseInfo[i] = xmlOperator.GetXmlReader()[i];
}
string G_Str_ConnectionString = "Server=" + getDataBaseInfo[0];
G_Str_ConnectionString += ";user id=" + getDataBaseInfo[1];
G_Str_ConnectionString += ";password=" + getDataBaseInfo[2];
G_Str_ConnectionString += ";initial catalog=" + getDataBaseInfo[3] + ";Connect Timeout=20";
G_Con = new SqlConnection(G_Str_ConnectionString);
}
else
{
MessageBox.Show("不存在配置文件,请添加!");
Application.Exit();
}
}
catch (InvalidOperationException ex)
{
MessageBox.Show("数据库打开失败,错误原因:" + ex.Message.ToString());
}
return G_Con;
}
这是我的XML自己对照一下吧!
<?xml version="1.0" encoding="utf-8"?>
<system>
<DBServer>localhost</DBServer>
<UserID>sa</UserID>
<Pwd>
</Pwd>
<DBName>LightCtrl</DBName>
<ComSet>
<SeriPort>COM1</SeriPort>
<BaudRate>19200</BaudRate>
<DataBits>8</DataBits>
<Parity>无</Parity>
<StopBits>1</StopBits>
</ComSet>
</system>
void Main()
{
string xml = @"<Customers>
<User name=""aaa"" age=""21"">
<Address>
Shanghai
</Address>
<Technology>
C#
</Technology>
</User>
<User name=""bbb"" age=""22"">
<Address>
Zhejiang
</Address>
<Technology>
javascript
</Technology>
</User>
<User name=""ccc"" age=""23"">
<Address>
Zhejiang
</Address>
<Technology>
Delphi
</Technology>
</User>
</Customers>";
XElement xmlPage = XElement.Parse(xml);
var q = from x in xmlPage.Descendants("User")
where x.Attribute("name").Value == "bbb"
select x.Element("Address").Value;
q.ToList().ForEach(l=>Console.WriteLine(l));
}/*
Zhejiang
*/
<User name=""aaa"" age=""21"">
<Address>
Shanghai
</Address>
<Technology>
C#
</Technology>
</User>
<User name=""bbb"" age=""22"">
<Address>
Zhejiang
</Address>
<Technology>
javascript
</Technology>
</User>
<User name=""ccc"" age=""23"">
<Address>
Zhejiang
</Address>
<Technology>
Delphi
</Technology>
</User>
</Customers>";
XDocument Doc = XDocument.Parse(xml);
var query = Doc.Descendants("User").Where(x => x.Attribute("name").Value == "bbb").Select(x => x.Element("Address").Value);
foreach (var v in query)
{
Console.WriteLine(v.ToString());
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(resHtml); XmlNodeList xnl = xmlDoc.SelectNodes("/Customers");
XmlNodeList linkNOdes = xnl[0].SelectNodes("User");
foreach (XmlNode linkNode in linkNOdes)
{
foreach (XmlNode xn2 in linkNode.ChildNodes)
{
if (xn2.Name == "Address")
{
string name = xn2.InnerText;
}
} }
XmlNodeList nodeList=xmlDoc.SelectSingleNode("Customers").ChildNodes;//获取bookstore节点的所有子节点 foreach(XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 if(xe.GetAttribute("name")== "bbb")
{
MessageBox.Show(xe.SelectSingleNode("Address").InnerText);}
}也可以
xmlDoc.SelectSingleNode("Customers/User[name=bbb]").ChildNodes[0].InnerText;
XmlDocument _Documnet = new XmlDocument();//获取程序路径
_Documnet.Load(Setadr + "/set.xml");//读取此XML
XmlNodeList _NodeList = _Documnet.SelectNodes("Customers/bbb/Address");
if (_NodeList.Count != 0)
return _NodeList[0].InnerText;//返回此节点值
//打开xml文件
FileStream myFile = new FileStream(AutoUpdaterFileName, FileMode.Open);
//xml文件阅读器
XmlTextReader xml = new XmlTextReader(myFile);
while (xml.Read())
{
if (xml.Name == "UpdateUser")
{
//获取升级文档的最后一次更新日期
name = xml.GetAttribute("name");
break;
}
}