0
下面给出的代码用于通过右键单击我在WPF应用程序中的上下文菜单调用窗体来添加验证。如何使用C#增加XML内的节点并增加名称
public void AddValidation(object sender, RoutedEventArgs e)
{
ValidationForm obj = new ValidationForm();
ProcessGrid.Content = obj.VForm;
}
它将打开验证表单。输入所需的详细信息后,当我点击提交表单内给出按钮,它会创建这样一个xml: -
<?xml version="1.0" encoding="utf-8"?>
<Processes>
<Process Name="Process1" Namespace="" Methodname="">
<Validations IsSelected="True" />
<validation>xsdPath</validation>
<Validations>
</Process>
</Processes>
如果我会再添加任何新的验证,然后它会再次在此添加一个节点办法。
<?xml version="1.0" encoding="utf-8"?>
<Processes>
<Process Name="Process1" Namespace="" Methodname="">
<Validations IsSelected="True" />
<validation>xsdPath</validation>
<validation>xsdPath1</validation>
<Validations>
</Process>
</Processes>
为了创建XML,我使用了下面的代码。 string MyValue;
MyValue = Pages.ProcessesLayoutList.MyValue;
XDocument doc = XDocument.Load(@"C:\Users\562630\Desktop\New folder\ProcessComplete.xml");
var a = doc.Descendants("Process").Where(x => (string)x.Attribute("Name") == MyValue).
Select(x => x.Element("Validations")).FirstOrDefault();
a.Add(new XElement("Validation", s));
doc.Save(@"C:\Users\562630\Desktop\New folder\ProcessComplete.xml");
但是,我想补充点与像然后等on.So递增的名字,每一次后添加验证节点,它应该在递增顺序添加验证节点。请建议一些方法来做到这一点。提前致谢。
码*不*演示与递增的名字添加节点...节点值不是节点名称...考虑更新的答案或问题。 –
它确实@AlexeiLevenkov,第一个声明我们正在计算元素数量,第二个声明中我们在添加元素的同时使用该数量。 –
您的代码添加的所有节点都具有相同的*名称*(“验证”),但具有不同的值。我知道你正在尝试用OP所使用的相同词语来回答,但我认为这不是一个好的方法来回答问题。 –