Uprava dat v xml – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Uprava dat v xml – .NET – Fórum – Programujte.comUprava dat v xml – .NET – Fórum – Programujte.com

 

Zuben0
Stálý člen
1. 3. 2011   #1
-
0
-

Dobrý den, potřebuju aby se mi upravil soubor Nastaveni.xml, on se upraví, ale hodí mi to vždycky chybu

Dokument XML je neplatný. Dokument nemá kořenový element.


s xml dělám poprvé, tak nevím kde je chyba,
 XmlDocument doc = new XmlDocument();

doc.Load("Nastaveni.xml");
XmlDocument myXmlDocument = new XmlDocument();
myXmlDocument.Load("Nastaveni.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/events");
foreach (XmlNode node3 in nodes)
{
foreach (XmlNode node in node3)
{
string event1 = node["server"].InnerText;
foreach (XmlNode n in node)
{
string server = textBox1.Text;
n.InnerText = server;
doc.Save("Nastaveni.xml");
doc.RemoveAll();
}

string event2 = node["port"].InnerText;
foreach (XmlNode n in node)
{
string port = textBox2.Text;
n.InnerText = port;
doc.Save("Nastaveni.xml");
doc.RemoveAll();
}

string event3 = node["user"].InnerText;
foreach (XmlNode n in node)
{
string user = textBox3.Text;
n.InnerText = user;
doc.Save("Nastaveni.xml");
doc.RemoveAll();
}

string event4 = node["pass"].InnerText;
foreach (XmlNode n in node)
{
string pass = textBox4.Text;
n.InnerText = pass;
doc.Save("Nastaveni.xml");
doc.RemoveAll();
}
}
}


a Nastaveni.xml vypadá takhle:
<?xml version="1.0" encoding="utf-8"?>

<events>
<event>
<server>127.0.0.1</server>
<port>3306</port>
<user>root</user>
<pass>pass</pass>
</event>
</events>


EDIT: Vyřešeno, použil jsem settings

Nahlásit jako SPAM
IP: 90.178.23.–
Zed_10
Newbie
14. 3. 2011   #2
-
0
-

To Zuben : Co přesně potřebuješ? Vkládat nový eventy nebo přepisovat jednotlivý údaje v eventech? Pro vkládání nových eventů nejraději používám System.Xml.Linq. A pro případ potřeby změn bych doporučil zvolit idíčko jako atribut u invetu, pak se s tím bude dobře pracovat pro další editaci.



XDocument dokument = XDocument.Load("Nastaveni.xml");
dokument.Element("events").Add(
new XElement ("event",
new XAttribute ("id", intID.ToString()),
new XElement ("server", strServer),
new XElement ("port", strPort),
new XElement ("user", strUser),
new XElement ("pass", strPass)));
dokument.Save("Nastaveni.xml")


Pak jej můžeš editovat


XmlDocument doc = new XmlDocument();
doc.Load("Nastaveni.xml");
XmlNode nod = doc.SelectSingleNod("//event[@id='" + intID.ToString() + "']")
nod["pass"].InnerText = strPass;


A nebo vymazat


XmlDocument doc = new XmlDocument();
doc.Load("Nastaveni.xml");
XmlNode nod = doc.SelectSingleNod("//event[@id='" + intID.ToString() + "']")
nod.ParentNode.RemoveChild(nod);

Nahlásit jako SPAM
IP: 90.178.19.–
fred
~ Anonymní uživatel
1 příspěvek
25. 6. 2011   #3
-
0
-

Ahojte

Pracujem na aplikacii ktora je vlastne moj zoznam knih. Data uklada do xml. Je to v principe jednoduche, no rad by som to navrhol spravne a zatial to vyzera asi tak, ze tam mam triedu ktora nacita XML document a naplni nim objekt kniznica ktora obsahuje objekty kniha. S nimi budem dalej v GUI pracovat, (pridavat, editovat, mazat) a potom by som chcel aby sa opat cela kniznica(cize kolekcia knih) ulozila do xml documentu. Je to tak spravne, alebo je problem, ze sa v podstate bude xml neustale kompletne prepisovat ?

Dakujem

Nahlásit jako SPAM
IP: 95.103.185.–
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, 73 hostů

Podobná vlákna

Úprava xml feedu — založil jAkErCZ

Úprava XML kodu — založil MaxDJs

Uprava dat v tabulce — založil Zuben

Uprava dat z tabulky — založil nord

 

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