Click here to Skip to main content
15,890,947 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
AnswerRe: Maybe my least favorite programming task other than CRUD creation Pin
Fueled By Decaff9-Dec-20 1:09
Fueled By Decaff9-Dec-20 1:09 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
honey the codewitch9-Dec-20 1:25
mvahoney the codewitch9-Dec-20 1:25 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
Fueled By Decaff9-Dec-20 3:19
Fueled By Decaff9-Dec-20 3:19 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
jsc429-Dec-20 2:51
professionaljsc429-Dec-20 2:51 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
PIEBALDconsult9-Dec-20 3:19
mvePIEBALDconsult9-Dec-20 3:19 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
honey the codewitch9-Dec-20 3:22
mvahoney the codewitch9-Dec-20 3:22 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
PIEBALDconsult9-Dec-20 3:49
mvePIEBALDconsult9-Dec-20 3:49 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
honey the codewitch9-Dec-20 3:54
mvahoney the codewitch9-Dec-20 3:54 
Ah, see, there we have a fundamentally different design.

My C# library has a low level pull based parser. This examines small windows of near infinite size documents. You move through it an element at a time in a loop, like Microsoft's XmlTextReader.** The pull parser is fast. Calling Read() is fast, but calling SkipSubtree() is significantly faster than reading through it because i do a partial parse - just enough to make sure the document is valid - i don't normalize.

In that parse is also ParseSubtree() which takes the section of the document you are on and puts it into an in-memory tree for you, which you can then do stuff like jsonpath filtering and navigation expressions or in place modification on.

Usually, you'll just parse an entire document into a tree and work with that, but for huge documents that's not practical, so you use the pull parser to navigate/skip to where you need to be, and then just load that subset you need rather than the whole document.

In my port to Arduino, I don't have the in memory trees, just the pull parser, but I may add the ability to do small in memory trees later. Everything else is pretty much the same except the functions are camelCase.

** Pull parsers are actually fantastic for embedded stuff because they allow you to process very large documents a bit at a time.
Real programmers use butterflies

GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
PIEBALDconsult9-Dec-20 6:47
mvePIEBALDconsult9-Dec-20 6:47 
GeneralRe: Maybe my least favorite programming task other than CRUD creation Pin
honey the codewitch9-Dec-20 6:52
mvahoney the codewitch9-Dec-20 6:52 
General/dev/null as a service PinPopular
Brisingr Aerowing8-Dec-20 15:19
professionalBrisingr Aerowing8-Dec-20 15:19 
PraiseRe: /dev/null as a service Pin
Daniel Pfeffer8-Dec-20 19:31
professionalDaniel Pfeffer8-Dec-20 19:31 
GeneralRe: /dev/null as a service Pin
Johnny J.8-Dec-20 21:03
professionalJohnny J.8-Dec-20 21:03 
GeneralRe: /dev/null as a service Pin
5teveH8-Dec-20 21:30
5teveH8-Dec-20 21:30 
GeneralRe: /dev/null as a service Pin
k50549-Dec-20 3:51
mvek50549-Dec-20 3:51 
GeneralRe: /dev/null as a service Pin
5teveH9-Dec-20 4:05
5teveH9-Dec-20 4:05 
GeneralRe: /dev/null as a service Pin
BabyYoda9-Dec-20 2:57
BabyYoda9-Dec-20 2:57 
GeneralRe: /dev/null as a service Pin
Jörgen Andersson9-Dec-20 5:51
professionalJörgen Andersson9-Dec-20 5:51 
GeneralI did not realize... Pin
David O'Neil8-Dec-20 13:44
professionalDavid O'Neil8-Dec-20 13:44 
GeneralRe: I did not realize... Pin
Greg Utas8-Dec-20 13:54
professionalGreg Utas8-Dec-20 13:54 
GeneralRe: I did not realize... Pin
Nelek8-Dec-20 21:49
protectorNelek8-Dec-20 21:49 
GeneralRe: I did not realize... Pin
Greg Utas8-Dec-20 23:38
professionalGreg Utas8-Dec-20 23:38 
GeneralRe: I did not realize... Pin
Rick York8-Dec-20 14:29
mveRick York8-Dec-20 14:29 
GeneralRe: I did not realize... Pin
Dan Neely9-Dec-20 2:30
Dan Neely9-Dec-20 2:30 
GeneralRe: I did not realize... Pin
David O'Neil9-Dec-20 6:43
professionalDavid O'Neil9-Dec-20 6:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.