我有以下操作方法來執行API調用訪問返回的XML: -從API調用
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Rack rack, FormCollection formValues)
{
if (ModelState.IsValid) {
using (var client = new WebClient())
{
var query = HttpUtility.ParseQueryString(string.Empty);
foreach (string key in formValues)
{
query[key] = this.Request.Form[key];
}
query["username"] = "testuser";
query["password"] = ///.....
query["assetType"] = "Rack";
query["operation"] = "AddAsset";
var url = new UriBuilder("http://win-spdev:8400/servlets/AssetServlet");
url.Query = query.ToString();
try
{
string xml = client.DownloadString(url.ToString());
}
從API調用返回的XML看起來如下: -
<operation>
<operationstatus>Failure</operationstatus>
<message>Rack already exists.Unable to add</message>
</operation>
但我如何能夠達到信息和操作方式,並根據它們來顯示適當的信息。我使用序列化返回的JSON等,但我不知道如何爲XML這樣做: -
var serializer = new JavaScriptSerializer();
var myObject = serializer.Deserialize<newprocess>(json);
string activityid = myObject.activityId;
感謝您的回覆。但在XmlDocument下沒有名爲LoadXML的方法? –
@johnG這是一個實例方法。我已經更新了我的答案。另請參閱:http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.loadxml.aspx – Krumelur