2017-04-12 111 views
2

我是新來的C#,並得到了一個問題。我正在使用HttpWebRequest爲Soap Web服務編寫自動化測試,並且我正在通過xml請求並將xml作爲字符串返回。如何在傳遞給HttpWebRequest之前將不同的值傳遞給xml節點

現在,我想通過這個請求xml保存在文件中,但想要更改xml節點值。我正在考慮從Excel工作表獲取不同的測試數據,然後將該數據傳遞給xml節點。

我可以做到這一點,如果我保存在一個類內的字符串對象的所有XML請求,但我想從XML文件讀取請求。

我不知道該怎麼做。您能否幫我解決這個問題或提供任何其他解決方案

回答

0

有不同的方式來參數化XML併發送到web服務。最簡單的方法是使用佔位符創建模板XML,然後在運行時用excel中的數據替換佔位符,如下所示。

XML:

<Name> 
<FirstName>{{FirstName}}</FirstName> 
<LastName>{{LastName}}</LastName> 
</Name> 

的Excel/CSV

FirstName,LastName 
FName1,LName1 
FName2,LName2 

您現在可以讀取來自Excel作爲字典的值,並完成類似下面。

C#代碼說明:

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

如果XML參數是不可行的,你可以使用XPath(使用任何XML持有的對象)導航到XML節點並設置該節點的值。