Возвращает XML-список из службы WCF REST

#xml #wcf #rest

#xml #wcf #rest

Вопрос:

У меня есть служба WCF Rest, и в настоящее время я возвращаю список типа «Книга». Служба работает нормально, возвращаемая информация не в формате xml. Это делает невозможным синтаксический анализ, как мне заставить его отображаться в формате xml.

ИЛИ я могу выполнить синтаксический анализ, используя тип класса в клиенте?

Спасибо за любую помощь

Служба

 [WebGet(UriTemplate = "ListAllBooks", 
            ResponseFormat=WebMessageFormat.Xml,
            BodyStyle= WebMessageBodyStyle.Wrapped)]
    List<Book> ListAllBooks()
    {
        List<Book> bookList = new List<Book>();
        Book aBook;
        String query = "SELECT ID, ISBN, Title, Author, Genre, Format, Inventory, Price FROM books";
        SqlDataReader reader = queryDB(query, connectionString);
        while (reader.Read())
        {
            aBook = new Book();
            aBook.Author = reader["Author"].ToString();
            aBook.Title = reader["Title"].ToString();
            aBook.ID = reader["ID"].ToString();
            aBook.Inventory = Convert.ToInt32(reader["Inventory"]);
            aBook.ISBN = reader["ISBN"].ToString();
            aBook.Price = Convert.ToDouble(reader["Price"]);
            aBook.Genre = reader["Genre"].ToString();
            aBook.Format = reader["Format"].ToString();
            bookList.Add(aBook);
        }
        return bookList;
    }
  

Книга типов

     public class Book
    {
        public String ID { get; set; }
        public String ISBN { get; set; }
        public String Title { get; set; }
        public String Author { get; set; }
        public String Genre { get; set; }
        public String Format { get; set; }
        public int Inventory { get; set; }
        public double Price { get; set; }
    }
  

Комментарии:

1. Итак, что это за формат? Это JSON? Почему ваш код не работает? Я ожидаю, что это сработает.

2. Взгляните сюда: login.scottsmereka.com/ListAllBooks

3. Это действительный чистый XML! Что с ним не так?

4. Прекратите использовать веб-браузер в качестве средства отладки. Скачайте fiddler и используйте его. То, что вы получаете обратно, — это обычный старый XML.

5. @Scott: вам нужно просмотреть исходный код на этой странице вывода! Это и есть XML — во всей его красе — ваш браузер, вероятно, просто анализирует все XML-теги и прочее….