[C# + XML] Hilfe, nodes auslesen aber wie??

08/24/2012 23:49 .Scare™#1
Hey Com, ich habe einen Fehler in dem Code hier und kann den nicht lösen....
weis einer was hier falsch ist?

Fehler:
Code:
Es sind mehrere Stammelemente vorhanden. Zeile 3, Position 3.
XML:
Code:
<?xml version="1.0" standalone="yes" ?>
<Mob vnum="101" name="'??'" />
kann es sein das die xml anderst aufgebaut sein muss?

Code:
PHP Code:
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;

namespace 
WindowsFormsApplication1
{
public 
partial class Form1 Form
{
public 
Form1()
{
InitializeComponent();
}
//Form1()

private void button1_Click(object senderEventArgs e)
{

XmlDocument doc = new XmlDocument();
doc.Load("dump.xml");
XmlElement root doc.DocumentElement;
foreach (
XmlNode @Mob in root.ChildNodes)
{
textBox1.Text = (@Mob.Attributes["vnum"].InnerText);
//MessageBox.Show(@Mob.Attributes["vnum"].InnerText);
}
}
//private void button1_Click(object sender, EventArgs e)
}//public partial class Form1 : Form
}//namespace WindowsFormsApplication1 
08/25/2012 00:54 nkkk#2
also die xml datei wie du sie dort stehen hast
Code:
<?xml version="1.0" standalone="yes" ?>
<Mob vnum="101" name="'??'" />
ist gültiges xml.
wenn du aber mehrere mobs in der xml stehen hast z.B.
Code:
<?xml version="1.0" standalone="yes" ?>
<Mob vnum="101" name="'??'" />
<Mob vnum="102" name="'asdf'" />
ist es ungültiges xml, da su mehrere elmente auf unterster ebene hast.
da musst du dann ein stammelement drumpacken, also:
Code:
<?xml version="1.0" standalone="yes" ?>
<Mobs>
   <Mob vnum="101" name="'??'" />
   <Mob vnum="102" name="'asdf'" />
</Mobs>
08/25/2012 18:19 .Scare™#3
danke das hatt mir super geholfen. nun habe ich noch einen Fehler, ich weis auch was es ist. und zwahr die ä ö ü in den Werten...

mit dem .Replace("ö", "oe") geht es aber trozdem noch immer nicht, da er diese glaube ich nicht mal lesen kann.

kann ich da was ändern? oder müsste ich zuerst die .xml einlesen und da dann alles mit .Replace ändern speichern und dann die nodes einlesen?


danke für die Hilfe.


Edit:
Quote:
Ich habe das Programm per einzelschrit durchlaufen lassen und der Fehler entsteht bereits hier:
PHP Code:
                doc.Load("dump.xml");
                
XmlElement root doc.DocumentElement
mfg .Scare™
08/25/2012 18:59 kissein#4
Besteht in diesem Projekt keine Möglichkeit XmlTextReader/Writer zu benutzen ?
Liefert ein valides Xml bzw. das auslesen ist komfortabler.
08/25/2012 19:22 .Scare™#5
hmm, weis ich nicht. ich arbeite erst seit kurzem mit C# und das erste mal mit .xml.. =)

habe es nun so gelöst, das man die .xml mit notepad++ in UTF8 konventiert.. dan geht es auch mit ö ü ä