我有以下操作方法来执行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