#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-теги и прочее….