» »

C# WPF nalaganje info. iz XML dokumenta

C# WPF nalaganje info. iz XML dokumenta

HeadLens ::

Pozdravljeni,

naletel sem na problem, ki ga nikakor ne znam rešiti.
Izdelal sem okensko aplikacijo z wpf in C# v VisualStudio.
Na oknu imam samo ListView gradnik in en gumb s katerim bi rad
naložil podatke iz XML datoteke, ki je shranjena na računalniku v tabelo ListView gradnika.

Zapis v xml datoteki zgleda takole:

<?xml version="1.0" encoding="utf-8"?>
<ListView>
  <datum1>18.11.2014</datum1>
  <pijaca1>Pivo</pijaca1>
  <datum2>19.11.2013</datum2>
  <pijaca2>Vino</pijaca2>
  <datum3>20.11.2013</datum3>
  <pijaca3>Žganje</pijaca3>
</ListView>

Problem znam rešiti z Windows Forms okni ne pa v WPF načinu.
Zato bi tukaj prosil za pomoč..... vsak nasvet, ki bo pripeljal do rešitve je dobrodošel ;)

roba87 ::

A ni bolje za WPF, da uporabiš XAML za izdelavo gradnikov ?

Tukaj je nekaj : Klik

Zgodovina sprememb…

  • spremenil: roba87 ()

jamiroq ::

jaz sem resil nekako takole:
string xmlFile = "pot\\do\\datoteke.xml";

StreamReader sr = new StreamReader(xmlFile);

string strXml = sr.ReadToEnd;
sr.Dispose();

MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(strXml));

XDocument xml = XDocument.Load(ms);

/*
XML je priblizno taksne oblike:

<?xml version="1.0" ?>
	<asdf>
		<bla1>qwertyuiop</bla1>
		<bla2>1</bla2>
		<bla3>3242</bla3>
	</asdf>
</xml>
*/

//do posameznih elementov XMLja dostopam takole:
string foo = xml.Descendants("bla1").FirstOrDefault().Value.ToString();
bool bar = Convert.ToBoolean(xml.Descendants("bla2").Value.ToString());
int baz = Convert.ToInt32(xml.Descendants("bla3").Value.ToString());

D-monLord ::

Uporabi XmlDataProvider in bindaj na ItemsSource property od ListView-a

http://msdn.microsoft.com/en-us/library...

HeadLens ::

Našel sem neko rešitev, vendar ni za moj primer.
Največji problem v WPF-jevem ListView-u je, da ne znam nasloviti posamezne celice tabele kot je npr. v WindowsFormsu
listViewSeznam.Items[0].Subitem[2] ! Tukaj točno veš kam vstavljaš podatek.

mihies ::

Ti imaš predvsem dva problem. Tisti tvoj XML zapis je obup.
Bolje bi bilo npr:
<ListView>
  <zapis datum1="18.11.2014" pijaca="Pivo" />
  ...
</ListView>


Torej, najprej boš to "ročno" pretvoril v nek seznam parov datum/pijaca.

Ko boš imel tak seznam, ga boš lahko povezal na WPF kontrol kot izvor - in kontrola ti po na podlagi predloge generirala vidno reprezentacijo vsakega zapisa iz tega seznama.

Tolko zaenkrat.
http://blog.rthand.com/
SLODUG - uporabniška skupina
https://www.facebook.com/groups/slodug/

MrStein ::

+1

XML tagi naj bodo "standardni", podatki pa v atributih (ali vsebini elementov).
Z drugimi besedami: oblikuj si shemo (ali DTD)

(razen če gre za malo stvar - časovno in prostorsko - in je "vseeno")
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#] WPF vprašanja

Oddelek: Programiranje
101106 (728) Ciklamen
»

C# in DateTime

Oddelek: Programiranje
101328 (1148) FiDeK
»

[c#] shrani text, tabele, slike

Oddelek: Programiranje
251482 (1088) klemen93
»

[Visual C#] "Format" shranjevanja?

Oddelek: Programiranje
10941 (726) c0dehunter
»

problem v C#

Oddelek: Programiranje
211954 (1669) dvojka

Več podobnih tem