Τι είναι το DomDocument;

Πίνακας περιεχομένων

Το DomDocument είναι ένα κοντέινερ (μεταβλητή/αντικείμενο) για τη διατήρηση ενός εγγράφου XML στον κώδικα VBA.

Ακριβώς όπως χρησιμοποιείτε μια μεταβλητή συμβολοσειράς για να διατηρήσετε μια τιμή συμβολοσειράς, μπορείτε να χρησιμοποιήσετε ένα DomDocument για να κρατήσετε ένα έγγραφο XML.

(για μια πλήρη λίστα με τις ιδιότητες ενός DomDocuments, δείτε στη μέση αυτής της σελίδας)

Γιατί με νοιάζει τι είναι το DomDocument;

Το Excel έχει μερικούς πολύ διαισθητικούς τρόπους για τη μεταφορά XML σε υπολογιστικό φύλλο (Χάρτες XML), αλλά:

• Τι γίνεται αν θέλετε να χειριστείτε τα δεδομένα αφού τα ανακτήσετε, αλλά πριν εμφανιστούν τα δεδομένα στα κελιά σας;

• Τι γίνεται αν θέλετε να εισαγάγετε δεδομένα XML σε στοιχεία ελέγχου αντί για αντιστοιχισμένα κελιά, όπως συνδυαστικά πλαίσια, ετικέτες ή πλαίσια κειμένου;

Και οι δύο αυτές εργασίες είναι δύσκολο (αν όχι αδύνατο) να επιτευχθούν χρησιμοποιώντας χάρτες XML. Μπορούμε ωστόσο να εισαγάγουμε τα δεδομένα XML σε ένα DomDocument, μετά να βγάλουμε τα δεδομένα που χρειαζόμαστε, να γράψουμε στα στοιχεία ελέγχου, να φιλτράρουμε τα δεδομένα ή να χειριστούμε τα δεδομένα πριν εμφανιστούν σε ένα υπολογιστικό φύλλο.

Πώς μπορώ να φορτώσω XML σε ένα DomDocument;

Το ακόλουθο παράδειγμα χρησιμοποιεί το Excel 2003. Στο Visual Basic Editor Goto Tools-> References και τοποθετήστε ένα σημάδι ελέγχου στο πλαίσιο "Microsoft XML v5.0"

Τώρα χρειαζόμαστε κάποια XML. Πρόσφατα δημιούργησα έναν χάρτη ιστότοπου Google για αυτόν τον ιστότοπο και είναι σε XML, οπότε ας το χρησιμοποιήσουμε: AutomateExcel Google XML Sitemap

Για να φορτώσετε το έγγραφο SiteMap XML σε ένα αντικείμενο DomDocument στο Excel, χρησιμοποιήστε τον ακόλουθο κώδικα (ο οποίος σχολιάζεται εξηγώντας πράγματα):

1234567891011121314151617181920212223242526272829303132333435 Sub DomDocumentBasic ()Dim oDom As MSXML2.DOMDocument«Δημιουργήστε το αντικείμενο DomDocumentΟρισμός oDom = CreateObject ("MSXML2.DOMDocument")"Φορτώστε ολόκληρο το έγγραφο πριν προχωρήσετεoDom.async = Λάθος«Μην επικυρώνετεoDom.validateOnParse = ΛάθοςoDom.Load ("AutomateExcel Google XML Sitemap")MsgBox oDom.XMLΤέλος υπο

Ο κώδικας απλά φορτώνει το XML και το εμφανίζει σε ένα πλαίσιο μηνυμάτων:

Σημείωση: Εάν φορτώνετε XML από μια διεύθυνση URL και αντιμετωπίζετε προβλήματα, βεβαιωθείτε ότι δεν ξεχάσατε τη γραμμή "oDom.async = Λάθος“.

Πώς μπορώ να διασχίσω το DomDocument;

Τώρα που έχω τα δεδομένα XML σε ένα αντικείμενο, πώς μπορώ να "κάνω κάτι" με αυτό;

LOL, ακόμα μαθαίνω αυτό το μέρος. Θα δημοσιεύσω τα βασικά σε μια μελλοντική ανάρτηση και θα αφήσω έναν σύνδεσμο για αυτό εδώ.

Ο τίτλος της ανάρτησης ήταν "Τι είναι ένα DomDocument", ελπίζουμε ότι έχετε μια ιδέα τώρα.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave