Je suis nouveau à VBA et XML et j'apprécierais votre aide. J'ai le code suivant:Lire XML en utilisant VBA: Liste toutes les occurrences d'un tag, y compris contextRef
Option Explicit
Sub XMLfromPPTExample()
Dim XDoc As MSXML2.DOMDocument
Dim objxmlnodexbrl As MSXML2.IXMLDOMNode
Dim objXMLNodeDIIRSP As MSXML2.IXMLDOMNode
Set XDoc = New MSXML2.DOMDocument
XDoc.async = False
XDoc.validateOnParse = False
XDoc.Load("https://www.sec.gov/Archives/edgar/data/936468/000119312516476010/lmt-20151231.xml")
Set objxmlnodexbrl = XDoc.SelectSingleNode("xbrl")
Set objXMLNodeDIIRSP = objxmlnodexbrl.SelectSingleNode("us-gaap:GrossProfit")
Worksheets("Tabelle1").Range("A1").Value = objXMLNodeDIIRSP.Text
End Sub
Ceci permet d'accéder d'un XML-feuille spécifique sur la base de données EDGAR de la SEC et écrit la valeur d'une variable définie (« us-gaap: marge brute ») dans le champ Excel A1.
Cependant, il est possible que cette balise apparaisse plusieurs fois dans ce fichier XML avec des valeurs différentes. Ce dont j'ai besoin, c'est que chacune de ces occurrences soit imprimée dans une table Excel, y compris la valeur et la valeur de "contextRef".
Pourriez-vous s'il vous plaît adapter mon code pour que cela fonctionne? Merci beaucoup. Envisagez d'utiliser le XPath MSXML DOM, en vous assurant de déclarer l'espace de noms us:gaap
.