Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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# 使用C在XML节点中添加子节点#_C#_Xml - Fatal编程技术网

C# 使用C在XML节点中添加子节点#

C# 使用C在XML节点中添加子节点#,c#,xml,C#,Xml,以下是我给出的XML:- <?xml version="1.0" encoding="utf-8"?> <Processes> <Process Name="Process1" Namespace="" Methodname=""> <Validations/> <Transformations/> <Routings/> </Process> </Processes>

以下是我给出的XML:-

<?xml version="1.0" encoding="utf-8"?>
<Processes>
  <Process Name="Process1" Namespace="" Methodname="">
    <Validations/>
    <Transformations/>
    <Routings/>
  </Process>
</Processes>
但是,我在“Validations.AppendChild(validation)”行中得到错误,因为对象引用未设置为对象的实例。请提出一些解决方法。

您可以这样做

XDocument doc = XDocument.Load(@"C:\Users\Sid\Desktop\Process\Process1.xml");
var a = doc.Descendants("Validations").FirstOrDefault();
a.Add(new XElement("Validation", "This is my new Node"));
doc.Save(@"C:\Users\Sid\Desktop\Process\Process1.xml");

您的
SelectSingleNode()
与任何元素都不匹配,因此出现空引用异常。除了冲突的双引号问题之外,还应该使用
@attribute\u name
模式使用XPath引用属性。所以正确的表达应该是:

originalXml.SelectSingleNode("/Processes/Process[@Name='Process1']/Validations");

快乐编码
originalXml.SelectSingleNode("/Processes/Process[@Name='Process1']/Validations");