Jak wyświetlić dane dokumentu XML w richTextBox'ie?

0

Witam serdecznie! Słowem wstępu, jestem tu nowy i liczę na otwartość i pomoc bardziej doświadczonych forumowiczów.

Piszę program do przeglądania dokumentów. Na chwilę obecną program obsługuję wyłącznie dokumenty .txt, które wybierane są z listy comboBox i wczytywane do richTexBox'a bezpośrednio z dysku. Pliki reprezentują dane filmów, więc każdy plik ma takie same elementy:

Tytuł:
Rok:
Reżyseria:

i oczywiście zmieniają się tylko poszczególne dane każdego filmu. Chciałbym stworzyć schemat , dzięki któremu pliki opisujące film zawierały tylko dane charakterystyczne (bez "przedrostków" typu [i]Tytuł[/i]). Słyszałem, że można w tej sytuacji bardzo dobrze wykorzystać elementy XML. Na potrzeby postu wkleję zawartość przykładowego pliku .xml:

<?xml version="1.0" encoding="utf-8"?>
<films>
  <movies>
    <movie_ID>5</movie_ID>
    <movie_Title>film1</movie_Title>
    <movie_Year>1999</movie_Year>
    <movie_Director>rezyser1</movie_Director>
    <bestPicture>Y</bestPicture>
    <AFIRank>1</AFIRank>
  </movies>
  <movies>
    <movie_ID>6</movie_ID>
    <movie_Title>film2</movie_Title>
    <movie_Year>2001</movie_Year>
    <movie_Director>rezyser2</movie_Director>
    <bestPicture>Y</bestPicture>
    <AFIRank>2</AFIRank>
  </movies>
</films>

oraz kod comboBox'a wczytującego na razie jak już wcześniej wspominałem same pliki .txt:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            plik = comboBox1.Text;
            for (int i = 0; i < comboBox1.Items.Count; i++)
            {
                if (plik == comboBox1.Items[i].ToString())
                {
                    FileStream fs = new FileStream("E:\\syl\\" + comboBox1.Items[i].ToString() + ".txt", FileMode.Open);
                    StreamReader sr = new StreamReader(fs);
                    richTextBox1.Text = sr.ReadToEnd();
                    sr.Close();
                }
            }
        }

oraz arkusz stylu XML:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<TITLE>Filmy</TITLE>
<Table border ="0" padding="3" cellspacing="2">

<THEAD bgcolor="efefe4">
<TH algin="left">Tytuł filmu</TH>
<TH>Rok premiery</TH>
<TH>Ocena AFI</TH>
<TH>Reżyser</TH>
</THEAD>

<xsl:for-each select="//movies">
<xsl:sort select="movie_Title" />
<tr>
<td algin="left"><xsl:value-of select="movie_Title"/> </td>
<td algin="center"><xsl:value-of select="movie_Yaer"/> </td>
<td algin="center"><xsl:value-of select="AFIRank"/> </td>
<td algin="left"><xsl:value-of select="movie_Director"/> </td>
</tr>
</xsl:for-each>
</Table>
</HTML>
</xsl:template>
</xsl:stylesheet>

Proszę o wskazówkę jak sparsować XMLa by estetycznie wyświetlić dane w richTextBox'ie. Dziękiuję z góry!

PS. Za pomocą plików xml i xsl oraz klasy XslTransform stworzyłem plik HTM z danymi wyjściowym w postaci kodu HTML. Dzięki temu otrzymałem "estetyczny widok" danych z pliku XML.

0

wybacz pytanie, ale czemu RichTextBox? skoro masz juz caly trip aż do HTML, to mozesz to spokojnie i banalnie wyswietlic poprzez WebBrowser :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1