Revisiting XML, Discovering JSON, and Refreshing My .NET Skills

Cartoon of a bearded developer at a desk with four coding monitors showing XML, JSON, REST and .NET, and technical books nearby.

Today I’ve spent some time revisiting some old programming knowledge and exploring how software development has evolved since I was last working professionally as a developer. My background is primarily in C#, .NET and SQL Server, and during my earlier career I worked extensively with XML for exchanging and structuring data. While I’ve recently returned to software development through my own projects, I realised there were some gaps in my knowledge of more modern approaches, particularly JSON and RESTful APIs.

I started with a refresher on XML (Extensible Markup Language), revisiting elements, attributes, hierarchical data structures, namespaces and schema definitions. Much of it came back surprisingly quickly, particularly how XML Schema (XSD) can enforce rules governing data types, required attributes, element ordering and permitted values. I even completed ChatGPT’s “XML Fundamentals” quiz, successfully identifying several examples of invalid XML data against a defined schema. These included an invalid negative identifier, elements appearing in the wrong sequence, and exceeding the permitted number of repeated elements. It was encouraging to discover that the underlying knowledge was still there after so many years!

From there, I moved on to JSON (JavaScript Object Notation), which has largely displaced XML as the preferred format for exchanging data between modern web applications and APIs. Although I was familiar with XML’s structured, document-oriented approach, JSON’s use of objects, arrays and key-value pairs was relatively new territory for me. What became clear was that JSON offers a much lighter-weight representation of data, without the verbosity of XML’s opening and closing tags. It also maps naturally to objects and collections in languages such as C#. XML remains useful in many situations, particularly where complex document structures, namespaces and rigorous schema validation are important, but I can certainly understand why JSON has become so popular in modern application development.

We also explored two important concepts in modern API development: CRUD (Create, Read, Update, Delete) and REST (Representational State Transfer). CRUD was immediately familiar from my database development experience, while REST helped connect those traditional data operations with modern HTTP-based services. Understanding how HTTP methods such as GET, POST, PUT, PATCH and DELETE are used to manipulate resources provided some useful context for the architecture of today’s web applications. It’s particularly relevant to my current development work on My Bottle Collection, which uses .NET and exposes functionality through APIs.

To continue refreshing and expanding my skills, I’ve decided to purchase two books from The Nile:

These books should help me explore modern development practices, testing, source control, API architecture and maintainable web services. I prefer learning from physical books, particularly when studying technical subjects where I can take my time working through the concepts and referring back to them later.

Today’s exercise has been a useful reminder that returning to software development doesn’t mean starting again from scratch. Much of what I learned and practised during my earlier career is still relevant; the tools, frameworks and conventions have simply continued to evolve. I’m enjoying rediscovering the engineering side of my background, and I’m looking forward to combining that experience with the technologies and practices used in modern software development.

One step at a time, I’m rebuilding my knowledge and enjoying the process.

–Owen.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *