第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Web API 響應 XML/JSON 而不是字符串

Web API 響應 XML/JSON 而不是字符串

C#
函數式編程 2022-01-16 16:16:46
我正在嘗試創(chuàng)建一個 Web API。我遇到的問題是我使用字符串而不是格式更好的響應進行響應,因此使用 API 的應用程序可以更輕松地解析它。有沒有辦法返回格式更好的東西,比如 JSON 或 XML?我該怎么做?  public string Get(string id)    {        XElement xelement = XElement.Load("C:/Users/potter/source/repos/library/lib/Controllers/books.xml");        var books = xelement.Elements("book").Where(x => x.Element("title").ToString().ToLower().Contains(id));        foreach (XElement xEle in books)        {                      returnValue = returnValue + xEle.ToString();            }        return returnValue;    }
查看完整描述

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);

            });

        }

    });

});


查看完整回答
反對 回復 2022-01-16
  • 1 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號