25.03.2019, 11:37 (Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2019, 11:46 von snb.)
Oder:
Code:
Sub M_snb() With CreateObject("MSXML2.DOMDocument") .Load "G:\OF\XML_document.xml" c00 = .getElementsByTagName("jobkey")(0).Text c01 = .getElementsByTagName("jobtitle")(0).Text c02 = .getElementsByTagName("url")(0).Text End With End Sub
Die erste 10 Werten:
Code:
Sub M_snb() sp = Split("jobkey jobtitle url")
With CreateObject("MSXML2.XMLhttp") .Open "get", "G:\OF\XML_document.xml", False .send sn = Split(.responseText, vbCrLf)
For j = 0 To 2 c00 = c00 & vbLf & Join(Filter(Split(Replace(Replace(Join(Filter(sn, sp(j)), vbLf), "<" & sp(j) & ">", ""), "</" & sp(j) & ">", "", , 10), vbLf), sp(j), 0), vbLf) Next End With
25.03.2019, 12:59 (Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2019, 13:06 von snb.)
@Fen
1. Variant: stimmt Fullname ?
Code:
Sub M_snb() With CreateObject("MSXML2.DOMDocument") .Load "G:\OF\XML_document.xml" MsgBox Join(Array(.getElementsByTagName("jobkey")(0).Text, .getElementsByTagName("jobtitle")(0).Text, .getElementsByTagName("url")(0).Text), vbLf) End With End Sub
25.03.2019, 15:57 (Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2019, 15:59 von Zwenn.)
Hallo Fennek,
ich baue grade Möbel bei meiner Freundin auf. Deshalb nur kurz.
Das XML muss wohlgeformt sein nehme ich an. Deshalb muss man das Beispiel aus #1 etwas bearbeiten. Man kann sich noch mehr (völlständige) result Einträge erzeugen und das usw. muss natürlich raus. Ich hatte da keine Lust zu. Deswegen fehlt bei mir die Begrenzung auf die ersten 10. Das vorhandene Beispiel habe ich mir mit dem https://beautifier.io/ aufbereitet. Das funktioniert ganz gut, wenn man oben links HTML einstellt. [url=https://beautifier.io/][/url]
25.03.2019, 16:21 (Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2019, 16:24 von snb.)
@Fen:
Code:
Sub M_snb() With CreateObject("MSXML2.DOMDocument") .Load "G:\OF\XML_document.xml" For j = 0 To .getElementsByTagName("jobkey").Length - 1 MsgBox Join(Array(.getElementsByTagName("jobkey")(j).Text, .getElementsByTagName("jobtitle")(j).Text, .getElementsByTagName("url")(j).Text), vbLf) Next End With End Sub
25.03.2019, 17:02 (Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2019, 17:06 von snb.)
Eine alternative Vorgehensweise:
Code:
Sub M_snb() With CreateObject("MSXML2.DOMDocument") .Load "G:\OF\XML_document.xml" For Each it In .getElementsByTagName("jobkey") MsgBox it.Text Next For Each it In .getElementsByTagName("jobtitle") MsgBox it.Text Next For Each it In .getElementsByTagName("url") MsgBox it.Text Next
For j = 0 To .getElementsByTagName("jobkey").Length - 1 MsgBox Join(Array(.getElementsByTagName("jobkey")(j).Text, .getElementsByTagName("jobtitle")(j).Text, .getElementsByTagName("url")(j).Text), vbLf) Next End With End Sub
Option Explicit Public Sub Main() Const strFile As String = "C:\Temp\XML_Document1.xml" Workbooks.OpenXML strFile Workbooks(Dir$(strFile)).Worksheets(1).Range("K3,L3,R3").Copy Tabelle1.Range("A1") Workbooks(Dir$(strFile)).Close False End Sub