c# - 使用 C# 在 XML 节点内添加子节点

标签 c# xml

这是我给定的 XML:-

<?xml version="1.0" encoding="utf-8"?>
<Processes>
  <Process Name="Process1" Namespace="" Methodname="">
    <Validations/>
    <Transformations/>
    <Routings/>
  </Process>
</Processes>

我想在验证内添加新节点验证,为此我编写了以下代码:-

XmlDocument originalXml = new XmlDocument();
originalXml.Load(@"C:\Users\Sid\Desktop\Process\Process1.xml");    
XmlNode Validations = originalXml.SelectSingleNode("/Processes/Process[Name="Process1"]/Validations");
XmlNode Validation = originalXml.CreateNode(XmlNodeType.Element, "Validation",null);
Validation.InnerText = "This is my new Node";
Validations.AppendChild(Validation);
originalXml.Save(@"C:\Users\Sid\Desktop\Process\Process1.xml");

但是,我在“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");

关于c# - 使用 C# 在 XML 节点内添加子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940660/

相关文章:

c# - 如何仅在 TransactionScope 提交时运行自定义 C# 函数?

sql导入具有多个节点/子节点的xml文件

java - 使用 Metro 编码 JAXB 类时忽略 schemaLocation

c# - 如何在 C# selenium webdriver 中自动滚动 Div?

android - setContentView(R.layout.activity_main) 导致应用程序崩溃

xml - 单个 RSS xml 中的多个 channel - 它是否合适?

xml - 如何计算 XSLT 中各种条件下的节点数

c# - C# 中的 FSharpChoice

c# - 有没有办法在 C# 中将代码标记为非线程安全?

c# - 如果方法是同步的,则保留 Task 和 Task.FromResult 还是完全删除 Task-stuff?