최근 내 질문에 here이 (가) 응답되었습니다. 이제는 XML을 모두 파싱하고 예쁘게 보았으므로 지난 며칠 동안 내 머리를 벽에 부딪 히면서 내 애플리케이션에 대한 또 다른 질문이 생겼습니다.Silverlight에서 자동 생성 된 XML에 하이퍼 링크 추가 (C#)
XML은 아티스트 이름을 목록 상자에 자동으로 추가하는 데 사용됩니다. 내가하고 싶은 일은이 아티스트의 Amazon 검색에 대한 링크를 제공하는 것입니다. 다음 함수에서 XML이 파싱되고 아티스트 이름이 목록에 추가됩니다. 어떻게 든이 아티스트 이름에 하이퍼 링크를 삽입해야합니다. 아무도 이것이 어떻게 가능할 지 알고 있습니까?
편집 : 제공된 답변에서 2 단계와 3 단계 사이의 연결이 누락되었습니다. 또한 3 번이 어떻게 작동하는지 이해할 수 없습니다. 나는 실버 라이트 프로그래밍에서 초보자라는 것을 인정해야한다. 내 이해에서 XAML 페이지에서 바인딩을 수행합니다. 아직 작성되지 않은 목록 상자 항목의 경우이 작업을 어떻게 수행 할 수 있습니까?
또한 Amazon URL에 공백이있는 아티스트 이름 + 기호를 사용합니다. 이를 반영하기 위해 코드를 편집했습니다. 각 아티스트 이름 아래에 하이퍼 링크를 텍스트로 사용하는 것이 내가하는 일이 아니라는 점을 이해하시기 바랍니다. ;)
public void DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null || e.Error.Message.IndexOf("NotFound") == -1)
{
ArtistsList.Items.Clear();
uname.Text = "Try Another One!";
XDocument doc = XDocument.Parse(e.Result);
var topArtists = from results in doc.Descendants("artist")
select results.Element("name").Value.ToString();
foreach (string artist in topArtists)
{
ArtistsList.Items.Add(artist);
string amazonPlus = artist.Replace(" ", "+");
string amazonURL = "http://www.amazon.ca/s/ref=nb_ss_gw?url=search-alias%3Daps&field-keywords=" + amazonPlus + "&x=0&y=0";
ArtistsList.Items.Add(amazonURL);
}
}
}
편집 2 제공 대답을 명확히 할 사람이 있습니까? 당신이 XML을 구문 분석 LINQ를 사용하여 항목의 컬렉션을 만들 때