Vb: Xml?

Also in Kapitel 10.3.3 findet sich alles was du brauchst mittels VB.NET umgesetzt. In der Zeit, die du für die letzten Posts aufgewandt hast, hättest du das finden, kopieren und testen können. Zudem hättest du auch etwas gelernt.
 
XML-Dateien lesen und schreiben mit VB.NET hat gesagt.:
http://www.microsoft.com/germany/msdn/library/net/vbnet/XMLDateienLesenUndSchreibenMitVBNET.mspx
Code:
Private Sub XMLWriter() 
   
 ' Auswahl einer Kodierungsart für die Zeichenablage 
 Dim enc As New System.Text.UnicodeEncoding 
   
 ' XmlTextWriter-Objekt für unsere Ausgabedatei erzeugen: 
 Dim XMLobj As Xml.XmlTextWriter _ 
   = New Xml.XmlTextWriter("quickie.xml", enc) 
   
 With XMLobj 
   
   ' Formatierung: 4er-Einzüge verwenden 
   .Formatting = Xml.Formatting.Indented 
   .Indentation = 4 
   
   ' Dann fangen wir mal an: 
   .WriteStartDocument() 
   
   ' Beginn eines Elements "Personen". Darin werden wir mehrere 
   ' Elemente "Person" unterbringen. 
   .WriteStartElement("Personen") 
   
   ' Hier kommt das erste Element "Person". Eine Person hat 
   ' in unserem einfachen Beispiel einen Titel, einen Nach- 
   ' namen und einen Vornamen. Als Demo soll uns das genügen. 
   .WriteStartElement("Person") ' <Person 
   .WriteAttributeString("Titel", "Dr.") 
   .WriteAttributeString("Name", "Meyer") 
   .WriteAttributeString("Vorname", "Hans") 
   .WriteEndElement() ' Person /> 
   
   ' Hier kommt (noch immer im Element "Personen" das zweite 
   ' Element "Person". 
   .WriteStartElement("Person") ' <Person 
   .WriteAttributeString("Titel", "") 
   .WriteAttributeString("Name", "Schmidt") 
   .WriteAttributeString("Vorname", "Carlos") 
   .WriteEndElement() ' Person /> 
   
   ' Nachdem das Element "Personen" zwei Elemente "Person" 
   ' erhalten hat, beenden wir die Ausgabe für "Personen"... 
   .WriteEndElement() ' </Personen> 
   
   ' ... und schließen das XML-Dokument (und die Datei) 
   .Close() ' Document 
   
 End With 
   
 ' Und so sieht die Ergebnisdatei aus: 
 ' ----------------------------------- 
 '<?xml version="1.0" encoding="utf-16"?> 
 '<Personen> 
 ' <Person Titel="Dr." Name="Meyer" Vorname="Hans" /> 
 ' <Person Titel="" Name="Schmidt" Vorname="Carlos" /> 
 '</Personen> 
   
  End Sub
Schon mal ausprobiert, was in den Beispielen steht?! Das Ergebnis steht sogar als Kommentar mit bei *kopfschüttel*
 
doch natürlich!! aberr das ist nicht was ich will/suche!!

Ich möchte ein element was so aussieht: <Person Titel="Dr." Name="Meyer" Vorname="Hans">BlaBla</Person>
nicht so: <Person Titel="Dr." Name="Meyer" Vorname="Hans" />
nicht so: <Person>BlaBla</Person>
Sondern SO: <Person Titel="Dr." Name="Meyer" Vorname="Hans">BlaBla</Person>
 
Zuletzt bearbeitet:
Auch mal die Beispiele aus Kapitel 10.3.3?
Vielleicht auch mit einer Kombination aus beiden?! ;)

PS: Probier doch mal die Methode WriteElementString zwischen WriteStartElement und WriteEndElement ;)
 
Auch mal die Beispiele aus Kapitel 10.3.3?
Vielleicht auch mit einer Kombination aus beiden?! ;)

PS: Probier doch mal die Methode WriteElementString zwischen WriteStartElement und WriteEndElement ;)

Du meinst also so?
Code:
.WriteStartElement("backup")
.WriteElementString("Test", "Wert")
.WriteEndElement()

Das ergibt wieder nur sowas: <Test>Wert</Test>

Und wenn ich versuche dort ".WriteAttributeString()" unter das ".WriteElementString" zu setzen, gibt es einen Fehler: "Token StartAttribute im Status Content würde in einem ungültigen XML-Dokument resultieren."
 
ARGH

C#:
....
writer.WriteStartElement("foo");
writer.WriteAttributeString("bla", "schwall");
writer.WriteElementString("text");
writer.WriteEndElement();
....

so schwer ist das doch nun wirklich nicht. Einfach mal die Beispiele aus den Links durchgehen und man sieht, was die einzelnen Funktionen machen ;)
 
sorry so wie du das gemacht hast gibt das einen Fehler: "Fehler bei der Überladungsauflösung, da keine zugreifbare "WriteElementString" diese Anzahl von Argumenten akzeptiert." und wenn ich dem noch ein Argument geben kommt das raus:
Code:
<foo bla="schwall">
  <text />
</foo>

Und ich habe auch kein bock mehr, also es geht nicht.
 
hm ich habe eine Frage zum XMLReader, ich habe eine Datei:
Code:
<backup>
	<settings>
		<OS>WinVista</OS>
		<username>Tobias</username>
		<backuppfad>G:\Backup</backuppfad>
	</settings>
	<backupjobs>
		<job>
			<title>Mozilla Firefox</title>
			<type>Software</type>
			<source>
				<WinXP></WinXP>
				<WinVista>C:\Users\{user}\AppData\Roaming\Mozilla\Firefox</WinVista>
			</source>
			<destination>Mozilla\Firefox</destination>
		</job>
		<job>
			<title>Mozilla Thunderbird</title>
			<type>Software</type>
			<source>
				<WinXP></WinXP>
				<WinVista>C:\Users\{user}\AppData\Roaming\Thunderbird</WinVista>
			</source>
			<destination>Mozilla\Thunderbird</destination>
		</job>
		<job>
			<title>Mozilla Sunbird</title>
			<type>Software</type>
			<source>
				<WinXP></WinXP>
				<WinVista>C:\Users\{user}\AppData\Roaming\Mozilla\Sunbird</WinVista>
			</source>
			<destination>Mozilla\Sunbird</destination>
		</job>
	</backupjobs>
</backup>

und ich möchte gezielt backup->settings->username auslesen.
 
Zurück