C# 如何在传递到HttpWebRequest之前将不同的值传递到XML节点

C# 如何在传递到HttpWebRequest之前将不同的值传递到XML节点,c#,web-services,soap,C#,Web Services,Soap,我是新来C#的,有个问题。我正在使用HttpWebRequest为SOAP web服务编写自动化测试,我正在将XML传递给请求,并将XML作为字符串返回 现在,我试图传递保存在文件中的XML请求,但希望更改XML节点值。我正在考虑从Excel工作表中获取不同的测试数据,然后将这些数据传递给XML节点 若我将所有XML请求保存在一个类中的字符串对象中,但我想从XML文件中读取请求,那个么我就可以这样做 我不知道怎么做。有不同的方法可以参数化XML并发送到Web服务。最简单的方法是创建带有占位符的模

我是新来C#的,有个问题。我正在使用HttpWebRequest为SOAP web服务编写自动化测试,我正在将XML传递给请求,并将XML作为字符串返回

现在,我试图传递保存在文件中的XML请求,但希望更改XML节点值。我正在考虑从Excel工作表中获取不同的测试数据,然后将这些数据传递给XML节点

若我将所有XML请求保存在一个类中的字符串对象中,但我想从XML文件中读取请求,那个么我就可以这样做


我不知道怎么做。

有不同的方法可以参数化XML并发送到Web服务。最简单的方法是创建带有占位符的模板XML,然后在运行时用excel中的数据替换占位符,如下所示

XML:

现在,您可以将excel中的值作为字典读取,并执行以下操作

C#代码说明:

foreach(KeyValuePair kvp in dictionary)
 {
  xml = xml.Replace("{{" + kvp.key + "}}", kvp.value)
}

如果XML参数化不可行,您可以使用XPath(使用任何XML holder对象)导航到XML节点并设置节点值。

有不同的方法来参数化XML并发送到Web服务。最简单的方法是创建带有占位符的模板XML,然后在运行时用excel中的数据替换占位符,如下所示

XML:

现在,您可以将excel中的值作为字典读取,并执行以下操作

C#代码说明:

foreach(KeyValuePair kvp in dictionary)
 {
  xml = xml.Replace("{{" + kvp.key + "}}", kvp.value)
}
如果XML参数化不可行,可以使用XPath(使用任何XML holder对象)导航到XML节点并设置节点值

foreach(KeyValuePair kvp in dictionary)
 {
  xml = xml.Replace("{{" + kvp.key + "}}", kvp.value)
}