Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [C#] Z pliku XML do tablicy
Forum PHP.pl > Inne > Hydepark
tiraeth
Już 4 godziny siedzę dzisiaj (z przerwami) i próbuję załadować plik XML do tablicy, korzystam z Visual C# 2005 Express Edition.

XML:
  1. <configData>
  2.      <userID>1502271</userID>
  3.      <contact>
  4.            gg:1234567
  5.            lub poprzez email
  6.            email:user@domain.eu
  7.      </contact>
  8. </configData>


I chcę potem odpowiednio sobie pozapisywać aby było:
Kod
int userID = 1502271;
string contact = "gg:1234567\r\nlub poprzez email\r\nemail:user@domain.eu";

może też zwrócić tablicę dwuwymiarową, gdzie pierwszy wymiar to nazwy tagów a drugi wymiar to wartości, ale też żeby nie wyświetlało mi \r\n tylko znak nowej linii aby był, bo chcę to wyświetlić w textBox sad.gif

Proszę o pomoc sad.gif
Cudi
Kod
XmlDocument document = new XmlDocument();
document.Load("plik.xml");

int userID =  int.Parse(document.SelectSingleNode("/configData/userID").InnerText);
string contact = document.SelectSingleNode("/configData/contact").InnerText;


Przy założeniu że cofigData jest główną gałęzią.
tiraeth
Dzięki, Cudi, jeżeli byś mógł to prosiłbym jeszcze o informację jak w oparciu o klasę XmlDocument zapisywać dane (po edycji formularza przewiduję uaktualnienie wartości) smile.gif
Cudi
Kod
// tbxNazwa - textbox;)
document.SelectSingleNode("/configData/userID").InnerText = tbxUserID.Text;
document.SelectSingleNode("/configData/contact").InnerText = tbxContact.Text;

document.Save("plik.xml");
tiraeth
Ładowanie XML i zapisywanie działa, nie wiem tylko dlaczego <b>abc</b> zamiast zamienić mi na <![CDATA[<b>abc</b>]]> zamienia mi te < i > na &lt; i &gt;... jak to ominąć?
Cudi
Musisz użyć metody CreateCDataSection() klasy XmlDocument, a następnie to co zwróci wsadzić w odpowiedni element dokumentu za pomocą jego metody AppendChild().
tiraeth
OKEY, przy Aktualizacji pliku XML usuwam ten plik, tworzę XmlDocument, tam robię te wszystkie AppendChild, XmlElement, XmlCDataSection i działa, cały tekst w tagu xml jest objęty <![CDATA[ ... ]]>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.