xml nodes

  • VB.NET
  • .NET (FX) 4.0

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von mikeb69.

    Guten Tag, Ich möchte Hier:

    XML-Quellcode

    1. <onCreateLoadedObject saveId="TipTrigger_TRAIN_STATION_1_TRAIN_IN" />
    2. <onCreateLoadedObject saveId="TipTrigger_TRANSPORT_HUB_TRAIN_IN_1" />
    3. <onCreateLoadedObject saveId="Storage_storage1">
    4. <node fillType="wheat" fillLevel="4940" />
    5. <node fillType="barley" fillLevel="6710" />
    6. <node fillType="rape" fillLevel="6093" />
    7. <node fillType="sunflower" fillLevel="4171" />
    8. <node fillType="soybean" fillLevel="7534" />
    9. <node fillType="maize" fillLevel="4042" />
    10. </onCreateLoadedObject> />

    den eintrag fillLevel:

    XML-Quellcode

    1. <node fillType="wheat" fillLevel="4940"

    Bearbeiten...
    Ich habe schon nach einer Lösungen gesucht aber nichts gefunden... evt kann mir hier jemand helfen :)
    Danke im vorraus

    wieviel Threads hast Du jetzt wegen Bearbeitung von XML-Nodes gestartet?
    Soweit ich das beim überfliegen der anderen Threads gesehen habe, gabs dort etliche Lösungen, die funktionieren würden.
    Warum sind diese auf dein aktuelles Problem nicht anwendbar?
    "Hier könnte Ihre Werbung stehen..."

    MichaHo schrieb:

    wieviel Threads hast Du jetzt wegen Bearbeitung von XML-Nodes gestartet?

    Nur das...

    Bei der Lösung von ErfinderDesRades hat es nicht geklappt warum weiß ich grad ned, da hatte ich aber eine andere lösung gefunden. nur bei diesem Problem ist es Da es zum Beispiel

    XML-Quellcode

    1. <onCreateLoadedObject

    mehr als 1x gibt...

    Mein eigentliches problem ist ja jetzt wie komm ich bitte zum Wheat?!

    "Push" hin oder her. Vielleicht wäre es gut zu reflektieren, warum bisher keiner geantwortet hat. Da fehlt alles an relevanten Infos. In welcher Sprache/Programmierumgebung willst Du Deinen XML-Code bearbeiten? Ein Texteditor reicht offensichtlich nicht. Woher kommen die von Dir genannten Zeilen? Wie nimmst Du bisher darauf Zugriff, wie willst Du darauf zugreifen wollen? Ist das Teil eines Programms oder Spiels, welches Du bearbeiten willst? (Bin bei der Suche nach onCreateLoadedObject erstmal auf "Landwirtschaftssimulator" gestoßen.) Was meinst Du mit "bearbeiten"? Was ist z.B. der Sollzustand der gewählten Codezeile?
    Deine Tags sagen zwar VB und VB.NET, aber es haben sich schon einige in den Thementags vertan.
    Aufgrund dieser vielen Fragen hat sich wohl bisher noch keiner die Mühe gemacht, zu antworten. Weil einfach zuwenig Infos da sind, um konstruktiv helfen zu können. Wir wissen ja noch nicht mal, was Du bisher als Lösungsansatz hast.

    EDIT: Und kaum schick ich es ab, gibt es schon ne Antwort ...
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Also Welche sprache ich benutze steht ja oben... VB.net / 4.0.Net Framework
    Die xml einträge stammen aus einem Spiel und sollen Erst ausgelesen werden und dann bearbeitet werden.

    Und ja die Einträge werden aus dem Ls17 geholt. ( Landwirtschafts Simulator)
    Der Eintrag hier:

    XML-Quellcode

    1. <node fillType="wheat" fillLevel="4940" />
    2. <node fillType="barley" fillLevel="6710" />
    3. <node fillType="rape" fillLevel="6093" />
    4. <node fillType="sunflower" fillLevel="4171" />
    5. <node fillType="soybean" fillLevel="7534" />
    6. <node fillType="maize" fillLevel="4042" />
    Sagt aus wie viel Getreide in dem Silo sich befindet.

    @xX-Nick-Xx:
    ich hatte mal eine ähnliche Anforderung. Da ging es um Messungen eines Temperatur Servers. Als Hilfe gebe ich Dir hier, wie ich es gelöst habe:

    Klasse für die Messungen erstellen:

    VB.NET-Quellcode

    1. Public Class Messungungen
    2. Public mDate As Date
    3. Public mTime As Date
    4. Public mSensor As String
    5. Public mValue As Double
    6. End Class

    dann ein der Main Form eine Sub erstellen:

    VB.NET-Quellcode

    1. Imports System.Globalization
    2. Imports System.IO
    3. Imports System.Xml
    4. Private Sub GetMessungen(ByVal fi As String)
    5. Dim _Messungen As XDocument = XDocument.Load(fi)
    6. Dim _ResQuery As IEnumerable(Of Messungungen)
    7. _ResQuery = From m In _Messungen.Descendants("Messung")
    8. Select New Messungungen With
    9. {.mDate = DateTime.Parse(m.Element("Datum").Value),
    10. .mTime = DateTime.Parse(m.Element("Zeit").Value),
    11. .mSensor = m.Element("Sensor").Value,
    12. .mValue = Double.Parse(m.Element("Messwert").Value, CultureInfo.InvariantCulture.NumberFormat)}
    13. For Each mes As Messungungen In _ResQuery
    14. 'hier damit tun, was immer du willst, ich hatte es damals in ein DataSet geschrieben
    15. DsMNServer.Messung.AddMessungRow(mes.mDate, mes.mTime, mes.mSensor, mes.mValue)
    16. Next
    17. End Sub


    die dazugehörige XML sieht so aus:

    XML-Quellcode

    1. <Messungen>
    2. <Messung>
    3. <ID>-1</ID>
    4. <Datum>2017-01-02T00:00:00+01:00</Datum>
    5. <Zeit>0001-01-01T10:55:00+01:00</Zeit>
    6. <Sensor>Serverraum</Sensor>
    7. <Messwert>17.8</Messwert>
    8. </Messung>
    9. <Messung>
    10. <ID>-2</ID>
    11. <Datum>2017-01-02T00:00:00+01:00</Datum>
    12. <Zeit>0001-01-01T10:55:00+01:00</Zeit>
    13. <Sensor>Elektroraum</Sensor>
    14. <Messwert>20.7</Messwert>
    15. </Messung>
    16. </Messungen>


    vielleicht Hilft es Dir ja, das auf Dein Problem umzubauen
    "Hier könnte Ihre Werbung stehen..."
    Jetzt hab ich doch nochmal ne frage,

    Ich hab es Geschafft "wheat" also Weizen auszulesen, Aber wie lese ich jetzt Bitte barley aus?! oder rape ?!

    XML-Quellcode

    1. <node fillType="wheat" fillLevel="49433" />
    2. <node fillType="barley" fillLevel="6710" />
    3. <node fillType="rape" fillLevel="6093" />
    4. <node fillType="sunflower" fillLevel="4171" />
    5. <node fillType="soybean" fillLevel="7534" />
    6. <node fillType="maize" fillLevel="4042" />

    Danke im vorraus

    @xX-Nick-Xx,

    suche ich nach einem XmlNode mit einem bestimmten Attribut dann sieht das so aus.

    C#-Quellcode

    1. foreach (XmlNode xmlNode in rootNode.SelectNodes(nodeType))
    2. {
    3. if (xmlNode.Attributes["id"].Value == recipeID.ToString())
    4. {
    5. return xmlNode;
    6. }
    7. }

    Ist C# - sollte dir aber weiterhelfen.

    'nodeType' ist bei dir "node" und 'id' barley

    Gruss

    mikeb69