{"id":55000450,"date":"2019-08-01T00:00:00","date_gmt":"2020-02-28T10:29:37","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=450"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"XMLDokumente_mit_VBA_lesen","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html","title":{"rendered":"XML-Dokumente mit VBA lesen"},"content":{"rendered":"<p class='introduction'>Wir haben nun in einigen Artikeln beschrieben, welche M&ouml;glichkeiten die Bordmittel von Access f&uuml;r das Lesen und Schreiben von XML-Dokumenten bieten. Richtig flexibel ist das ganze nat&uuml;rlich nicht beziehungsweise nur, wenn Sie mit XSL nachhelfen. Wenn es beim Einlesen von XML-Dokumenten richtig individuell werden soll, k&ouml;nnen Sie aber immer noch mit VBA arbeiten. Dazu ben&ouml;tigen Sie nur einen Verweis auf die Objektbibliothek mit den Befehlen zum Bearbeiten von XML-Dokumenten &#8211; und das Know-how aus diesem Artikel.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>1904_XMLLesenVBA.accdb<\/b>.<\/p>\n<h2>Voraussetzungen<\/h2>\n<p>Um per VBA auf XML-Dokumente zuzugreifen, brauchen Sie imgrunde noch nicht einmal eine spezielle Bibliothek. XML-Dokumente sind ja auch nichts anderes als einfache Textdateien, nur das ihre Inhalte durch die XML-Auszeichnungen auf bestimmte Art strukturiert sind.<\/p>\n<p>Im Notfall k&ouml;nnen Sie sich also auch mit der <b>Open<\/b>-Anweisung und den Zeichenkettenfunktionen von VBA behelfen. Aber wir wollen es nat&uuml;rlich schon etwas komfortabler haben und nutzen daher die Bibliothek <b>Microsoft XML, 6.0<\/b>.<\/p>\n<p>Diese f&uuml;gen Sie im VBA-Editor &uuml;ber den Men&uuml;eintrag <b>Extras|Verweise <\/b>und den dann erscheinenden Dialog <b>Verweise <\/b>wie in Bild 1 hinzu.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_450_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_450_001.png\" alt=\"Verweis auf die XML-Bibliothek \" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Verweis auf die XML-Bibliothek <\/p>\n<p>Wenn Sie nun mit der Schaltfl&auml;che <b>F2 <\/b>den Objektkatalog &ouml;ffnen, k&ouml;nnen Sie nach der Auswahl des Eintrags <b>MSXML2 <\/b>oben im Kombinationsfeld alle Elemente dieser Bibliothek einsehen (siehe Bild 2).<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_450_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_450_002.png\" alt=\"Objektkatalog von VBA\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Objektkatalog von VBA<\/p>\n<h2>Beispieldokument<\/h2>\n<p>Wir wollen die Daten aus einem XML-Dokument mit einer Bestellung als Beispiel verwenden, das Sie auch auf der folgenden Microsoftseite finden k&ouml;nnen &#8211; f&uuml;r den Fall, dass Sie mit weiteren Beispieldokumenten experimentieren wollen:<\/p>\n<pre>https:\/\/docs.microsoft.com\/de-de\/dotnet\/visual-basic\/programming-guide\/concepts\/linq\/sample-xml-documents-linq-to-xml<\/pre>\n<p>Das Dokument sieht wie in Listing 1 aus. Es enth&auml;lt genau eine Bestellung, die im Element <b>PurchaseOrder <\/b>enthalten ist. Das Hauptelement enth&auml;lt in zwei Attributen die Bestellnummer und das Bestelldatum.<\/p>\n<pre>&lt;xml version=\"1.0\"&gt;  \r\n&lt;PurchaseOrder PurchaseOrderNumber=\"99503\" OrderDate=\"1999-10-20\"&gt;  \r\n   &lt;Address Type=\"Shipping\"&gt;  \r\n     &lt;Name&gt;Ellen Adams&lt;\/Name&gt;  \r\n     &lt;Street&gt;123 Maple Street&lt;\/Street&gt;  \r\n     &lt;City&gt;Mill Valley&lt;\/City&gt;  \r\n     &lt;State&gt;CA&lt;\/State&gt;  \r\n     &lt;Zip&gt;10999&lt;\/Zip&gt;  \r\n     &lt;Country&gt;USA&lt;\/Country&gt;  \r\n   &lt;\/Address&gt;  \r\n   &lt;Address Type=\"Billing\"&gt;  \r\n     &lt;Name&gt;Tai Yee&lt;\/Name&gt;  \r\n     &lt;Street&gt;8 Oak Avenue&lt;\/Street&gt;  \r\n     &lt;City&gt;Old Town&lt;\/City&gt;  \r\n     &lt;State&gt;PA&lt;\/State&gt;  \r\n     &lt;Zip&gt;95819&lt;\/Zip&gt;  \r\n     &lt;Country&gt;USA&lt;\/Country&gt;  \r\n   &lt;\/Address&gt;  \r\n   &lt;DeliveryNotes&gt;Please leave packages in shed by driveway.&lt;\/DeliveryNotes&gt;  \r\n   &lt;Items&gt;  \r\n     &lt;Item PartNumber=\"872-AA\"&gt;  \r\n       &lt;ProductName&gt;Lawnmower&lt;\/ProductName&gt;  \r\n       &lt;Quantity&gt;1&lt;\/Quantity&gt;  \r\n       &lt;USPrice&gt;148.95&lt;\/USPrice&gt;  \r\n       &lt;Comment&gt;Confirm this is electric&lt;\/Comment&gt;  \r\n     &lt;\/Item&gt;  \r\n     &lt;Item PartNumber=\"926-AA\"&gt;  \r\n       &lt;ProductName&gt;Baby Monitor&lt;\/ProductName&gt;  \r\n       &lt;Quantity&gt;2&lt;\/Quantity&gt;  \r\n       &lt;USPrice&gt;39.98&lt;\/USPrice&gt;  \r\n       &lt;ShipDate&gt;1999-05-21&lt;\/ShipDate&gt;  \r\n     &lt;\/Item&gt;  \r\n   &lt;\/Items&gt;  \r\n<\/PurchaseOrder> <\/pre>\n<p class='imagetext'>Listing 1: Inhalt eines XML-Dokuments mit einer Bestellung<\/p>\n<p>Darunter finden Sie die Liefer- und die Rechnungsadresse jeweils in <b>Address<\/b>-Elementen mit entsprechenden Unterelementen.<\/p>\n<p>Ob es sich um eine Liefer- oder Bestelladresse handelt, entnehmen Sie dem Attribut <b>Type <\/b>des <b>Address<\/b>-Elements.<\/p>\n<p>Darunter folgen <b>DeliveryNotes <\/b>als eigenes Element sowie eine Auflistung namens <b>Items <\/b>mit einigen <b>Item<\/b>-Elementen, welche die eigentlichen Bestellpositionen ausmachen. In den folgenden Abschnitten zeigen wir, wie Sie die dort enthaltenen Informationen per VBA und mithilfe der XML-Bibliothek auslesen k&ouml;nnen.<\/p>\n<h2>Die DOMDocument-Klasse<\/h2>\n<p>Um auf den Inhalt eines Dokuments zuzugreifen, wollen wir dieses zun&auml;chst referenzieren. Dazu gibt es genau eine geeignete Klasse, n&auml;mlich <b>DOMDocument60<\/b>.<\/p>\n<p>Diese deklarieren wir mit der Variablen <b>objXML<\/b>, danach instanzieren wir ein neues Objekt auf Basis dieser Klasse mit dem <b>New<\/b>-Schl&uuml;sselwort.<\/p>\n<p>Die <b>DOMDocument<\/b>-Klasse bietet unter anderem die beiden Methoden <b>Load <\/b>und <b>LoadXML <\/b>an:<\/p>\n<ul>\n<li><b>Load<\/b>: Erwartet die Angabe des Pfades zum einzulesenden XML-Dokument als Parameter und liefert den Wert <b>True <\/b>zur&uuml;ck, wenn das Einlesen erfolgreich war.<\/li>\n<li><b>LoadXML<\/b>: Erwartet ein XML-Dokument in Form einer Zeichenkette als Parameter. Auch hier liefert der R&uuml;ckgabewert die Information, ob das Einlesen erfolgreich war.<\/li>\n<\/ul>\n<p>Mit unserer Beispieldatei <b>PurchaseOrder.xml <\/b>sieht das Einlesen wie in der folgenden Prozedur aus. Hier pr&uuml;fen wir direkt, ob das Einlesen erfolgreich war. Falls ja, geben wir den Inhalt des Dokuments im Direktbereich des VBA-Editors aus. Dazu verwenden wir die <b>Debug.Print<\/b>-Anweisung mit der <b>XML<\/b>-Eigenschaft von <b>objXML<\/b>.<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>DokumentReferenzieren()\r\n    <span style=\"color:blue;\">Dim <\/span>objXML<span style=\"color:blue;\"> As <\/span>DOMDocument60\r\n    <span style=\"color:blue;\">Set<\/span> objXML = <span style=\"color:blue;\">New<\/span> DOMDocument60\r\n    If objXML.Load(CurrentProject.Path _\r\n            & \"\\PurchaseOrder.xml\") = <span style=\"color:blue;\">True<\/span> Then\r\n        <span style=\"color:blue;\">Debug.Print<\/span> objXML.XML\r\n    <span style=\"color:blue;\">Else<\/span>\r\n        <span style=\"color:blue;\">MsgBox<\/span> \"Fehler beim Einlesen\"\r\n    <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Fehler beim Einlesen<\/h2>\n<p>In unserem Beispiel gibt es keine Probleme beim Einlesen. Was aber k&ouml;nnte dabei nicht funktionieren Es kann zum Beispiel vorkommen, dass das XML-Dokument nicht wohlgeformt ist.<\/p>\n<p>Das bedeutet, dass zum Beispiel das &ouml;ffnende Element <b><PurchaseOrder> <\/b>vorhanden ist, aber das schlie&szlig;ende Element fehlt. In diesem Fall liest <b>Load <\/b>das Dokument nicht ein, sondern liefert den Wert <b>False <\/b>zur&uuml;ck. <\/p>\n<p>Um herauszufinden, welcher Fehler vorliegt, k&ouml;nnen Sie die Eigenschaften des Elements <b>ParseError <\/b>nutzen. Dazu f&uuml;gen wir dem <b>Else<\/b>-Teil der <b>If&#8230;Then<\/b>-Bedingung aus der obigen Prozedur noch ein paar weitere Zeilen hinzu:<\/p>\n<pre><span style=\"color:blue;\">Debug.Print<\/span> \"Fehler bei Einlesen:\"\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"ErrorCode: \" & objXML.parseError.errorCode\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"Filepos:   \" & objXML.parseError.filepos\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"Line:      \" & objXML.parseError.Line\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"LinePos:   \" & objXML.parseError.linepos\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"Reason:    \" & objXML.parseError.reason\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"srcText:   \" & objXML.parseError.srcText\r\n<span style=\"color:blue;\">Debug.Print<\/span> \"Url:       \" & objXML.parseError.url<\/pre>\n<p>Wenn wir einmal das schlie&szlig;ende <b>PurchaseOrder<\/b>-Element aus dem Dokument entfernen und die Prozedur erneut aufrufen, erhalten wir die Informationen aus Bild 3.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_450_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_450_003.png\" alt=\"Fehlerinformationen des parseError-Objekts\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Fehlerinformationen des parseError-Objekts<\/p>\n<p>Die Meldung, welche die Eigenschaft <b>Reason <\/b>f&uuml;r uns bereith&auml;lt, ist aussagekr&auml;ftig genug, um den Fehler zu beheben.<\/p>\n<h2>Das Root-Element einlesen<\/h2>\n<p>Unser <b>objXML<\/b>-Objekt enth&auml;lt nach dem Aufruf der <b>Load<\/b>-Methode, wie wir der <b>XML<\/b>-Eigenschaft entnehmen konnten, den kompletten Inhalt des XML-Dokuments. Wie k&ouml;nnen wir auf die einzelnen Elemente des Dokuments zugreifen und deren Inhalt ausgeben Als Erstes wollen wir dabei das sogenannte Root-Element referenzieren, das in unserem Fall so aussieht:<\/p>\n<pre><PurchaseOrder>\r\n    ...\r\n<\/PurchaseOrder><\/pre>\n<p>Um auf ein einzelnes XML-Element innerhalb eines Dokuments zu verweisen, ben&ouml;tigen wir eine Objektvariable mit dem passenden Typ, in diesem Fall <b>IXMLDOMElement<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Public Sub <\/span>RootElementReferenzieren()\r\n    <span style=\"color:blue;\">Dim <\/span>objXML<span style=\"color:blue;\"> As <\/span>DOMDocument60\r\n    <span style=\"color:blue;\">Dim <\/span>objRoot<span style=\"color:blue;\"> As <\/span>IXMLDOMElement\r\n    <span style=\"color:blue;\">Set<\/span> objXML = <span style=\"color:blue;\">New<\/span> DOMDocument60<\/pre>\n<p>Nach dem Laden des <b>documentElement<\/b>-Elements referenzieren wir das Root-Element dann &uuml;ber die <b>document-Element<\/b>-Eigenschaft:<\/p>\n<pre>    objXML.Load CurrentProject.Path                                   & \"\\PurchaseOrder.xml\"\r\n    <span style=\"color:blue;\">Set<\/span> objRoot = objXML.documentElement<\/pre>\n<p>Danach k&ouml;nnen wir beispielsweise mit <b>baseName<\/b> den Namen des Elements ermitteln, hier <b>PurchaseOrder<\/b>, oder mit der <b>XML<\/b>-Eigenschaft den Inhalt des XML-Elements ausgeben:<\/p>\n<pre>    <span style=\"color:blue;\">Debug.Print<\/span> objRoot.baseName\r\n    <span style=\"color:blue;\">Debug.Print<\/span> objRoot.XML\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000450\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000450?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000450\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"34aae43e8a\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir haben nun in einigen Artikeln beschrieben, welche M&ouml;glichkeiten die Bordmittel von Access f&uuml;r das Lesen und Schreiben von XML-Dokumenten bieten. Richtig flexibel ist das ganze nat&uuml;rlich nicht beziehungsweise nur, wenn Sie mit XSL nachhelfen. Wenn es beim Einlesen von XML-Dokumenten richtig individuell werden soll, k&ouml;nnen Sie aber immer noch mit VBA arbeiten. Dazu ben&ouml;tigen Sie nur einen Verweis auf die Objektbibliothek mit den Befehlen zum Bearbeiten von XML-Dokumenten &#8211; und das Know-how aus diesem Artikel.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662019,66042019,44000015,44000020],"tags":[],"class_list":["post-55000450","post","type-post","status-publish","format-standard","hentry","category-662019","category-66042019","category-Interaktiv","category-Tools"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>XML-Dokumente mit VBA lesen - Access [basics]<\/title>\n<meta name=\"description\" content=\"Wir haben nun in einigen Artikeln beschrieben, welche M\u00f6glichkeiten die Bordmittel von Access f\u00fcr das Lesen und Schreiben von XML-Dokumenten bieten. Richtig flexibel ist das ganze nat\u00fcrlich nicht beziehungsweise nur, wenn Sie mit XSL nachhelfen. Wenn es beim Einlesen von XML-Dokumenten richtig individuell werden soll, k\u00f6nnen Sie aber immer noch mit VBA arbeiten. Dazu ben\u00f6tigen Sie nur einen Verweis auf die Objektbibliothek mit den Befehlen zum Bearbeiten von XML-Dokumenten \u2013 und das Know-how aus diesem Artikel.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"XML-Dokumente mit VBA lesen - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Wir haben nun in einigen Artikeln beschrieben, welche M\u00f6glichkeiten die Bordmittel von Access f\u00fcr das Lesen und Schreiben von XML-Dokumenten bieten. Richtig flexibel ist das ganze nat\u00fcrlich nicht beziehungsweise nur, wenn Sie mit XSL nachhelfen. Wenn es beim Einlesen von XML-Dokumenten richtig individuell werden soll, k\u00f6nnen Sie aber immer noch mit VBA arbeiten. Dazu ben\u00f6tigen Sie nur einen Verweis auf die Objektbibliothek mit den Befehlen zum Bearbeiten von XML-Dokumenten \u2013 und das Know-how aus diesem Artikel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-28T10:29:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/pic_450_001.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"16\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_450_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html\",\"name\":\"XML-Dokumente mit VBA lesen - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html#primaryimage\"},\"datePublished\":\"2020-02-28T10:29:37+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Wir haben nun in einigen Artikeln beschrieben, welche M\\u00f6glichkeiten die Bordmittel von Access f\\u00fcr das Lesen und Schreiben von XML-Dokumenten bieten. Richtig flexibel ist das ganze nat\\u00fcrlich nicht beziehungsweise nur, wenn Sie mit XSL nachhelfen. Wenn es beim Einlesen von XML-Dokumenten richtig individuell werden soll, k\\u00f6nnen Sie aber immer noch mit VBA arbeiten. Dazu ben\\u00f6tigen Sie nur einen Verweis auf die Objektbibliothek mit den Befehlen zum Bearbeiten von XML-Dokumenten \\u2013 und das Know-how aus diesem Artikel.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/XMLDokumente_mit_VBA_lesen.html\",\"name\":\"XML-Dokumente mit VBA lesen\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000450"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000450\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}