Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: Parsing a generic data file

From: "Lynn" <ll@--------.--->
To: NULL
Date: 12/14/2007 1:30:00 PM


"Jasper" <notaround@d...> wrote in message 
news:2p-dnWHym_54YPzaRVnyvAA@p......

> Hi, Maybe this is off-topic, but perhaps you can help. I'm looking for 
> ideas on how to parse a data file.

can't you create arrays of C++ structs or classes to hold this data?  As for 
parsing it, if you don't want to write your own parser there has to be an 
abundance of libraries out there you could use out of the box, no? 
Efficiency will vary but I can't see why any decent commercial product, if 
not your own code, would not be *very* fast

I guess I'm not seeing why you would use XML or XML tools to intermediate 
this process when the data is not coming at you in XML and you've given no 
indication that you need to out it as XML for other processes to consume ... 
?


> I dont know XML but I know it parses data in text format.
>
> I have a structured data file of the general form shown below. I dont have 
> any definition of the data. Basically it looks like it is hierarchical, 
> token/data pairs defined by brackets and square brackets.
>
> I would like to parse this out into some sort of data object(s) in C++  so 
> that I can gain programmatic access to the variables.
>
> My app is C++ so the solution must be the same. Also it must be very 
> lightweight and *very* fast as I must decode multiple pages in realtime.
>
> Would adapting an XML parser to do this be a possible solution?
>
> Any pointers/ideas/references/code snippets/observations appreciated.
>
> TIA
>
> Basic example showing data structure (whitespaces and carriage returns 
> added by me for clarity).
>
> {
>
> "teacher":{
>  "name":
>    "Mr Borat",
>  "age":
>    "35",
>  "Nationality":
>    "Kazakhstan"},
>
>
> "Class":{
>  "Semester":
>    "Summer",
>  "Room":
>    null,
>  "Subject":
>    "Politics",
>  "Notes":
>    "We're happy, you happy?"},
>
> "Students":
> [
> {
>  "Smith":
>    [{"First Name":"Mary","sex":"Female"}],
>  "Brown":
>    [{"First Name":"John","sex":"Male"}],
>  "Jackson":
>    [{"First Name":"Jackie","sex":"Female"}]
> }
> ],
>
>
> "Grades":
> [
> {
>  "Test":
> 
> [{"grade":"A","points":68},{"grade":"B","points":25},{"grade":"C","points":15}],
>  "Test":
> 
> [{"grade":"C","points":2},{"grade":"B","points":29},{"grade":"A","points":55}],
>  "Test":
> 
> [{"grade":"C","points":2},{"grade":"A","points":72},{"grade":"A","points":65}]
> }
> ]
>
> }
>
>
>
>
>
>
>
>
>
>
>
> 




transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent