这是在nexp读取的知识分子中返回正确的元素原因 喜欢这个离线我试图将离线值的元素更改为Ready。
public void ChangeConnectionStatus(string SelectedFile)
{
System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(@"C:\Users\Rick\Documents\Visual Studio 2010\Projects\Server\server.config\DC_Classes\");
//Getting All file names from the directory info
System.IO.FileInfo[] fileNames = dirInfo.GetFiles(SelectedFile + "*.xml*");
//Foreach itterator
foreach (System.IO.FileInfo fi in fileNames)
{
XElement main = XElement.Load(fi.FullName);
IEnumerable<XElement> Nongroups = from nexp in main.XPathSelectElements("Network/Posted_Status")
where nexp.Element("Posted_Status").Value == "Offline"
select nexp;
////Handle the process here
foreach (XElement nexp in Nongroups)
{
DialogResult Yes = MessageBox.Show("This Will Online This Group Are You Sure You Want To Do This","System Info",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if (Yes == DialogResult.Yes)
{
nexp.SetValue("Ready");
}
}
}
}
答案 0 :(得分:0)
如果您不确定对象的类型,请使用var
foreach (var nexp in Nongroups)
并以这种方式分配值:
if (Yes == DialogResult.Yes)
{
nexp.Element("Posted_Status").Value = "Ready";
}
答案 1 :(得分:0)
我的猜测是你在this SO线程中看到了缺少名称空间。所以我希望nexp
在这一行被设置为null:
<.>来自main.XPathSelectElements中的 nexp (“Network / Posted_Status”)
您也可以阅读此MSDN thread。
尝试一下,希望它有所帮助!