I'm trying to store content scraped from several lyric and chord websites into separate variables into either a multi-dimensional array, or into separate string arrays, but I've been stuck trying some different approaches. I've searched through the site and have found many questions that were similar, though incompatible or difficult to adapt with my project.
If content was stored in a multi-dimensional array, it would look like this:
Search Site > Artist > Link to artist page > Song > Link to song page > Tab types (Chords, Lyrics, Tabs) > Link to tab type (Chords, Lyrics, Tabs) > Content
A good visual representation of this array would look like this:
Keep in mind the content is dynamic, so it is not possible for me to hard-code array bounds without first retrieving the size of the content I'm storing (e.g. amount of songs per artist)
Below are the approaches I've tried and their shortcomings, or where I failed to implement correctly:
Multi-dimensional (jagged) arrays required explicit bounds, and only the rightmost array can be resized. (This approach can be made to work by setting explicit bounds after all content has been captured, but creating temporary variables and passing them all to the multi-dimensional array requires a lot of code and seems like a "dirty" solution to my problem.)
Tuples seemed promising, but for some reason, I was not able to create a tuple containing different variable types, or the approach was confusing.
Individual arrays did not give me enough flexibility and required creating multiple new arrays dynamically. (e.g. an array for the list of songs for a specific artist, another for the tab links in a specific song, etc.)
I'm sure I've tried others, but I cannot remember at the moment, I've seen a similar approach done with Structures on a sample for a user control here and others who implemented a local database to contain all the elements.
All that is needed is an approach that is simplistic but functional.
Any help is gladly appreciated.
Another representation here: