Citanie Xml suboru – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Citanie Xml suboru – .NET – Fórum – Programujte.comCitanie Xml suboru – .NET – Fórum – Programujte.com

 

Jimi
~ Anonymní uživatel
75 příspěvků
30. 10. 2012   #1
-
0
-

Ahoj,

Napisal som citanie dat zo Xml suboru. Nasledovne:

XmlTextReader xml = new XmlTextReader("Hra.xml");
xml.ReadStartElement("HlavnyHrdina");
string X = xml.ReadElementString("X");
string Y = xml.ReadElementString("Y");
...
xml.ReadEndElement();

Problem je ze nic neprecita iba prazdny retazec. Xml subor vyzera nasledovne:

<HlavnyHrdina>
    <X>500</X>
    <Y>656</Y>
    <Sirka>50</Sirka>
    <Vyska>80</Vyska>
    <Rychlost>200</Rychlost>
         ...
</HlavnyHrdina>

Co mam pre to urobit, alebo ako mam citat subor aby mi do premennych nacitali pozadovane hodnoty ?

Nahlásit jako SPAM
IP: 188.112.92.–
Vaizo0
Stálý člen
30. 10. 2012   #2
-
0
-

Zdravím,

musím se přiznat, že XmlTextReader jsem použil snad jen jednou    Ale domnívám se tvrdit, že jsi nepochopil princip fungování této třídy. Pokud chceš použít reader, tak bys měl mít nějaký cyklus while(reader.Read()) a uvnitř toho cyklu kontrolovat reader.Name a hodnotu daného uzlu pomocí metody ReadString(). Viz třeba http://www.noboxsolutions.com/xmltextreader_stream.aspx

U tohodle konkrétního případu bych, ale XmlTextReader nepoužíval, ten je hodně low-level. Zvážil bych použití třídy XmlDocument nebo Linq to XML - třída XDocument.

Přeji hezký den

Nahlásit jako SPAM
IP: 85.93.127.–
Vaizo0
Stálý člen
30. 10. 2012   #3
-
0
-
Nahlásit jako SPAM
IP: 85.93.127.–
Jimi
~ Anonymní uživatel
75 příspěvků
30. 10. 2012   #4
-
0
-

Ja som sa pozeral sem ale moc po anglicky neviem

http://www.dixis.com/?p=40

Skusim to s tym Linq to Xml .

Kazdy co o Xml neco vie prosim napis svoj nazor

Nahlásit jako SPAM
IP: 188.112.96.–
Vaizo0
Stálý člen
30. 10. 2012   #5
-
0
-

#4 Jimi
Tak jsem ten tvůj kód spustil a X a Ymi to vyplní.

Zkus pustit toto:

            var xml = new XmlTextReader(@"c:\Code\test.xml");
            xml.ReadStartElement("HlavnyHrdina");
            var X = xml.ReadElementString("X");
            Console.WriteLine(X);
            var Y = xml.ReadElementString("Y"); 
            Console.WriteLine(Y);

            Console.Read();
Nahlásit jako SPAM
IP: 85.93.127.–
Jimi
~ Anonymní uživatel
75 příspěvků
30. 10. 2012   #6
-
0
-

Dik uz to islo. Len ked tam dam na koniec "xml.ReadEndElement()" tak to spadne. Dam sem cele Xml. Neni to zatial najlepsie navrhnute. Nejde mi to nacitat. Skuste mi prosim troku poradit. Dakujem

<Svet Meno="Zaciatok">
  <Pozadie>
    <X>0</X>
    <Y>0</Y>
    <Sirka>1024</Sirka>
    <Vyska>768</Vyska>
    <Obrazok>Level_1</Obrazok>
  </Pozadie>
  <HlavnyHrdina>
    <X>500</X>
    <Y>656</Y>
    <Sirka>50</Sirka>
    <Vyska>80</Vyska>
    <Rychlost>200</Rychlost>
    <Animacia>
      <Obrazok0>Game</Obrazok0>
      <Obrazok1>Game2</Obrazok1>
      <Obrazok2>Game3</Obrazok2>
      <Obrazok3>Game4</Obrazok3>
    </Animacia>
  </HlavnyHrdina>
  <SipkaVpravo>
    <X>910</X>
    <Y>680</Y>
    <Sirka>50</Sirka>
    <Vyska>30</Vyska>
    <Obrazok>SipkaVpravo</Obrazok>
    <DalsiSvet>CiernySvet</DalsiSvet>
  </SipkaVpravo>
  <SipkaVpravo>
    <X>50</X>
    <Y>680</Y>
    <Sirka>50</Sirka>
    <Vyska>30</Vyska>
    <Obrazok>SipkaVlavo</Obrazok>
    <DalsiSvet>CiernySvet</DalsiSvet>
  </SipkaVpravo>
</Svet>
Nahlásit jako SPAM
IP: 188.112.96.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 58 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý