1 回答

TA貢獻1865條經驗 獲得超7個贊
嗨幾點-
有沒有辦法返回格式更好的東西,比如 JSON 或 XML? 我該怎么做?
從 WEB API 的角度來看,如果對象是可序列化的,那么它將自動轉換為格式良好的 XML 或 JSON。因此,與其返回字符串,不如返回“books”,在這種情況下它是一個 IEnumerable,因此您不必擔心格式化。
您可能還必須看到以下相同的討論-
返回 XML 的 WebAPI
您正在嘗試根據標題獲取特定書籍
還想建議而不是檢查 Value 而不是 XmlElement,所以替換下面的行
x => x.Element("title").ToString().ToLower().Contains(id)
和 -
x => x.Element("title").Value.ToString().ToLower().Contains(id)
因此,您要編寫的最終代碼是針對特定書籍的列表-
public IEnumerable<XElement> Get(string id)
{
XElement xelement = XElement.Load("C:/Users/potter/source/repos/library/lib/Controllers/books.xml");
return xelement.Elements("book").Where(x => x.Element("title").Value.ToString().ToLower().Contains(id));
}
一旦你在服務器端設置了這個,你就可以使用 jQuery ajax 從客戶端調用 API,如下所示 -
$(document).ready(function () {
$.ajax({
type: "GET",
url: "http://localhost:50116/api/values/GetData/",//Change this to your URL
cache: false,
data: {id:'xml'},//Title has this word 'xml'
dataType: "xml",
success: function (xml) {
$(xml).find('book').each(function () {
var name = $(this).find("title").text();
var genre = $(this).find("genre").text();
var price = $(this).find("price").text();
var description = $(this).find("description").text();
alert(name);
alert(genre);
alert(price);
alert(description);
});
}
});
});
- 1 回答
- 0 關注
- 179 瀏覽
添加回答
舉報