Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析c#中的特定xml标记并将其放入值中_C#_Xml_C# 4.0 - Fatal编程技术网

解析c#中的特定xml标记并将其放入值中

解析c#中的特定xml标记并将其放入值中,c#,xml,c#-4.0,C#,Xml,C# 4.0,我的任务是解析XML文件,并在c#编程语言的变量中放置特定的标记 XML文件如下所示: <?xml version="1.0" encoding="utf-8"?> <item name="whatever"> <params name="items"> <param name="item1"> <comm>30313</comm> </param> <param

我的任务是解析XML文件,并在c#编程语言的变量中放置特定的标记

XML文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<item  name="whatever">
  <params name="items">
    <param name="item1">
      <comm>30313</comm>
    </param>
    <param name="item2">
      <comm>30313</comm>
    </param>
    <param name="item3">
      <comm>30313</comm>
    </param>
    <param name="item3">
      <comm>30313</comm>
    </param>
  </params>
</item>

30313
30313
30313
30313

所以现在我要做的任务是,当按下一个按钮时,我需要解析标签
中的值
30313
,并将其放入字符串值中,然后如果我按下另一个按钮,则将其保存在同一个标签中,返回xml

最简单的解决方案是使用LINQ到XML,正如Jon Skeet建议您调查的那样

var doc = XDocument.Load(@"path\to\file.xml");

var item3Comm = doc.Descendants("param")
    .Where(x => (string)x.Attribute("name") == "item3")
    .Elements("comm")
    .Single();

var item3CommText = item3Comm.Value;

item3Comm.Value = "new value"

doc.Save(@"path\to\file.xml");

好的,那么您对解析XML文档和查找特定元素做过任何研究了吗?我强烈建议使用LINQ to XML。?它是最后一个假定为item4的项目?好的,那么我现在如何使用item3CommText的值设置文本框文本?
textbox.Text=item3CommText
?如果你不能解决这个问题,我建议你做一些研究,尝试解决它,如果你有问题,再问另一个问题。在你编写的代码中,我得到一个错误:运算符==不能应用于XAttribute和string类型的操作数为什么?@AndrejMaleckar修复了,抱歉-小错误,我留下了一个cast out。现在我得到:System.Core.dll中发生了类型为“System.InvalidOperationException”的未经处理的异常,原因就在这一节中。为什么??