[英]How to read xml from web response?
我正在嘗試從Web響應中讀取xml並從中獲取選定的節點(即鏈接)。 到目前為止,這是我所得到的,並且它將“ System.Xml.XmlElement”顯示為輸出。
WRequest方法,使用Web請求將POST請求發送到url,並返回字符串xml響應,例如:
<status> <code>201</code>
<resources_created>
<link href="####" rel="############" title="####" />
</resources_created>
<warnings> <warning>display_date is read-only</warning> </warnings>
</status>
ReadUri2方法
public static string readUri2()
{
string uri = "";
string xml = WRequest();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
XmlNode elem = xmlDoc.DocumentElement.FirstChild;
uri = elem.ToString();
return uri;
}
PageLoad調用
protected void Page_Load(object sender, EventArgs e)
{
string uri = readUri2();
Label1.Text = Server.HtmlEncode(uri);
}
任何幫助將不勝感激。 非常感謝。
緊迫的問題(您看到System.Xml.XmlElement
的原因)是您在XmlElement
上調用ToString
,但它不會覆蓋該方法。 您可能想改為使用InnerXml
或OuterXml
屬性:
XmlNode elem = xmlDoc.DocumentElement.FirstChild;
return elem.OuterXml;
那將返回第一個孩子的全部XML,即code
。 接下來,您將要更改要查找的元素,並獲取正確的屬性。
附帶說明一下,我強烈建議改用LINQ to XML-這是通常更好的XML API。 例如:
// TODO: Rename the `WRequest` method; that's horrible.
var document = XDocument.Parse(WRequest());
var href = document.Descendants("link").Single().Attribute("href").Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.