analysieren von xml in vb.net
Ich bin da eine XML-Datei. Es ist gebildet wie diese:
<?xml version="1.0" encoding="utf-8"?>
<dataset xmlns="http://developer.cognos.com/schemas/xmldata/1/" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<!--
<dataset
xmlns="http://developer.cognos.com/schemas/xmldata/1/"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://developer.cognos.com/schemas/xmldata/1/xmldata.xsd">
-->
<metadata>
<item name="Level" type="xs:short" precision="1"/>
<item name="ID" type="xs:string" length="14"/>
<item name="Name" type="xs:string" length="52"/>
</metadata>
<data>
<row>
<value>2</value>
<value>101 </value>
<value>Location 1</value>
</row>
<row>
<value>2</value>
<value>103 </value>
<value>Location 2</value>
</row>
</data>
Ich habe Probleme beim Parsen. Es gibt Hunderte von online-Artikel - aber alle haben ein anderes format als die Daten an mich übergeben.
Kann jemand mich in die richtige Richtung VB.NET auf Framework 3.5?
Ich bin es gewohnt zu sehen, Daten wie diese:
<item name="Future" collected="yes">
BEARBEITEN:
So, ich habe dies ausprobiert:
Dim reader As XmlTextReader = New XmlTextReader(fileToSave)
Do While (reader.Read())
Select Case reader.NodeType
Case XmlNodeType.Element 'Display beginning of element.
Console.Write("<" + reader.Name)
Console.WriteLine(">")
Case XmlNodeType.Text 'Display the text in each element.
Console.WriteLine(reader.Value)
Case XmlNodeType.EndElement 'Display end of element.
Console.Write("</" + reader.Name)
Console.WriteLine(">")
End Select
Loop
Was ich brauche, ist die Row-Elemente in der Lage sein, um das füllen eines combobox - dies nur gibt mir die gleiche Sache wie die XML-Datei:
<dataset>
<metadata>
<item>
<item>
<item>
</metadata>
<data>
<row>
<value>
2
</value>
<value>
101
</value>
<value>
Location 1
</value>
</row>
<row>
<value>
2
</value>
<value>
103
</value>
<value>
Location 2
</value>
</row>
</data>
</dataset>
Haben Sie einen Blick auf XDocument.
Was wollen Sie zur Abfrage von XML? Zeigen Sie uns den code, den Sie Schwierigkeiten mit.
Das ist es eben Ahmad, ich weiß nicht, wo zu beginnen. Ich brauche die Werte aus den <Zeile> tags.
Versuchen
Versucht, die... jede Zeile Wert, der den gleichen Namen hat - so bekomme ich die Elemente alle in 1 Spalte, nicht in 3 Spalten.
Was wollen Sie zur Abfrage von XML? Zeigen Sie uns den code, den Sie Schwierigkeiten mit.
Das ist es eben Ahmad, ich weiß nicht, wo zu beginnen. Ich brauche die Werte aus den <Zeile> tags.
Versuchen
DataSet.ReadXml
.Versucht, die... jede Zeile Wert, der den gleichen Namen hat - so bekomme ich die Elemente alle in 1 Spalte, nicht in 3 Spalten.
InformationsquelleAutor CRAIGRY | 2013-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zum extrahieren von Daten aus XML in VB.Net Sie könnten einfach verwenden VB.Net's XML-Literale (wenn Sie nicht möchten, die Mühe mit XML-transformation).
Angesichts Ihrer xml:
importieren Sie den namespace mit
und dann einfach Abfragen Ihrer Daten, wie in den folgenden Beispielen:
Ausgabe:
Der Letzte funktioniert nicht: A first chance exception of type 'System.InvalidCastException' ist in WLC.exe System.InvalidCastException: Unable to cast object of type 'WhereSelectEnumerableIterator`2[System.Xml.Linq -.XElement,System.String]' Typ 'System.String[]'
InformationsquelleAutor sloth
Ich glaube, die Antwort unten sollten nach Ihrem Geschmack sein. Die meisten meiner Kommentare/editorials sollte erklären, dass der ganze Prozess. Stellt sich heraus, du bist nicht die einzige person auf stackoverflow mit cognos dataset leiden, lol. Das Beispiel unten wurde getestet, in LinqPad zurückgegeben und die erwünschten Ergebnisse.
Ein weiteres XSL-transformaton, die funktioniert auch mit
DataSet
finden Sie hier: IBM Cognos BI: generische XSLT-Normalisierung von Daten zur TabelleHabe meine Antwort helfen? Das ist alles neu für mich, und ich Schätze, neue Dinge zu lernen, Frage mich, ob meine Ausführung war es im Rahmen. Lol
Ich denken Sie Antwort ist hilfreich (da schließlich das extrahieren der Werte aus einer
DataSet
ist trivial), also ich habe es bis. Sie sollte aufhören, lol, aber 🙂finden Sie unter diesem link auf Farbcodierung. Problem ist, Sie nicht wissen, welche zu verwenden, basiert auf der Tatsache, dass es 2 langage tags.
InformationsquelleAutor
Können Sie die
System.IO.File.WriteAllLines
oderSystem.IO.File.WriteAllText
- Methode, und legen Sie die extension als XML -InformationsquelleAutor Joe