XML File - Tags automatisch löschen

Meteorologe

Ensign
Registriert
Aug. 2006
Beiträge
253
Hallo,

nachdem ich von euch so großartige Hilfe zu meinen bisherigen Problemen bekommen habe, möchte ich mich nun gern erneut an euch wenden.
Ich speichere seit etwa zwei Wochen, XML Files von folgender Seite http://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160819/23 (https://www.computerbase.de/forum/threads/xml-format-mit-cron.1606502/#post-19105817).
Nach zwei Wochen, wollte ich das Ergebnis mit Excel auswerten, wurde aber von den nicht benötigten Tags erschlagen, die sich in der XML befinden. Die manuelle Löschung der Tags hat zu viel Zeit in Anspruch genommen, sodass ich eine automatische Löschung bevorzuge.

Konkrekt:
Ich würde "nur" folgendes benötigen:
bei s: "id",
bei tl: "c", "n"
bei ar: "pt", "ppth"
bei dp: "pt", "ppth"

Ist eine automatische Löschung bzw eine Beibehaltung der erwünschten Tags (im Nachinein) noch möglich?
Falls nein, kann cron (anhand eines Scripts), die nicht erwünschten Tags beim herunter laden des XML löschen?

Vielen Dank
Simon
 
Mit Regex an xml zu arbeiten ist nicht 'state of the art'. Verwende einen xml-Editor, Google listet einige auf.
 
Vielen Dank für die vielen Vorschläge. :daumen:
Habe mich ein wenig in XPath rein gelesen, kapiere aber wenig bis gar nichts :D -> Ich finde erstaunlicherweise keine Seite, die einem Amateur erklärt, was als erstes zu tun ist. Es ist wohl ein wenig "Erfahrung" in Programmierung benötigt, die ich leider nicht besitze.
 
Zuletzt bearbeitet:
Reguläre Ausdrücke sind nicht geeignet, XML zu parsen. Chomsky-Hierarchie undso.
 
Ich habe es mal für Excel 2010 mit XPath gemacht.
Mit späteren Versionen kannst Du auch direkt XPath nutzen.
Fehler habe ich nicht abgefangen.
Microsoft XML muß du bei 2010 noch als Objektverweis (in der Entwicklungsumgebung unter Extras) hinzufügen.

Code:
Sub holeDaten()


Dim xmlDoc As MSXML2.DOMDocument60
Dim xmlSubDoc As MSXML2.DOMDocument60


'create msxml object
Set xmlDoc = New MSXML2.DOMDocument60
xmlDoc.async = False
'load the xml page
xmlDoc.Load ("http://iris.noncd.db.de/iris-tts/timetable/plan/8011160/160819/23")


xmlDoc.setProperty "SelectionLanguage", "XPath"

Set xmlSel = xmlDoc.SelectNodes("//s")

Set xmlSubDoc = New MSXML2.DOMDocument60
xmlSubDoc.async = False
For i = 1 To xmlSel.Length
  xmlSubDoc.LoadXML (xmlSel.Item(i).XML)
  xmlDoc_id = xmlSubDoc.SelectSingleNode("//@id").NodeValue
  xmlDoc_tl_c = xmlSubDoc.SelectSingleNode("//tl/@c").NodeValue
  xmlDoc_tl_n = xmlSubDoc.SelectSingleNode("//tl/@n").NodeValue
  xmlDoc_ar_pt = xmlSubDoc.SelectSingleNode("//ar/@pt").NodeValue
  xmlDoc_ar_ppth = xmlSubDoc.SelectSingleNode("//ar/@ppth").NodeValue
  xmlDoc_dp_pt = xmlSubDoc.SelectSingleNode("//dp/@pt").NodeValue
  xmlDoc_dp_ppth = xmlSubDoc.SelectSingleNode("//dp/@ppth").NodeValue
Next

End Sub
 
Zuletzt bearbeitet: (Objektverweis)

Ähnliche Themen

Zurück
Oben