Я повторно использую код, используемый в приложении Windows Forms.Здесь я нашел некоторую помощь, чтобы освободить код от ошибок, используя класс StringReader
.При запуске моего приложения, которое является приложением Windows Phone Silverlight, я получаю исключение:
Недопустимые данные на корневом уровне, строка 1, позиция 1
Целькода использовать номер ISBN, найти книгу на isbndb.com и отправить обратно название, автора и описание.Любая помощь по этой ошибке будет принята с благодарностью.Метод возвращает элементы "title", "author" и "description" в memberbook
объекте.
public class ISBNDB
{
public string key = "??????????";
public string URL = "http://isbndb.com/api/books.xml?access_key=";
string DETAILS;
private MemberBook mb;
private string title;
private string author;
private string description;
public ISBNDB()
{
URL += key;
DETAILS += key;
title = null;
}
public ISBNDB(string key)
{
this.key = key;
URL += key;
DETAILS += key;
title = null;
}
public MemberBook GetData(string isbn)
{
DETAILS = URL;
DETAILS += "&results=texts&index1=isbn&value1=" + isbn;
using (XmlReader reader = XmlReader.Create(new StringReader(DETAILS)))
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an element.
switch(reader.Name)
{
case "Title":title = reader.ReadContentAsString();
break;
case "AuthorsText": author = reader.ReadContentAsString();
break;
case "Summary": description = reader.ReadContentAsString();
if (description.Equals(""))
description = "Not Available";
if(description.Length > 2000)
description = "Not Available";
break;
}
break;
}
}
return mb;
}
}
}
РЕДАКТИРОВАТЬ SampleXML(LB)
<?xml version="1.0" encoding="UTF-8"?>
<ISBNdb server_time="2012-01-26T22:30:26Z">
<BookList total_results="1" page_size="10" page_number="1" shown_results="1">
<BookData book_id="jaws_a05" isbn="1400064562" isbn13="9781400064564">
<Title>Jaws</Title>
<TitleLong></TitleLong>
<AuthorsText>Peter Benchley, </AuthorsText>
<PublisherText publisher_id="random_house">Random House</PublisherText>
<Summary>"Relentless terror." The Philadelphia Inquirer.The classic, blockbuster thriller of man-eating terror that inspired the Steven Spielberg movie and made millions of beachgoers afraid to go into the water. Experience the thrill of helpless horror again -- or for the first time!From the Paperback edition.</Summary>
<Notes></Notes>
<UrlsText></UrlsText>
<AwardsText></AwardsText>
</BookData>
</BookList>
</ISBNdb>