Basic XML parsing using libexpat bindings for .NET |
- Its optimized for memory usage, if you don't listen for any SAX-like events (Start/end tag, comment, etc) will not produce any string from handlers.
- You can really reset parser internal state.
- Don't need check end tag because expat already does.
- Use its internal string pooling (maybe add NameTable would be useful too?).
- No unsafe operations (fixed pointers, etc). All marshaling using a "safe" context.
- Library name hints for multiple platforms. Eg: VCPKG compiles as libexpat.dll, other compilers will produce expat.dll instead, same for Unix (so) and Mac systems (dylib)