SQLite is easier if you're comfortable with SQL to the extent that it's little to no effort for you to write queries. But most people aren't that comfortable, and XML offers them significant advantages. I certainly prefer XML at any rate.
I bet if we do a random poll of the people here, more people would be comfortable writing a SQL query then doing xpath processing to query the same data.
With XML, under version control, you can identify easily what went wrong.
After all there are way more independent XML parsers implemented in a variety of programming languages than there are SQLite implementations :-P.
That seems like a rare edge case though. If you want to interact with the data outside of the software, the common case is you're writing some script for that, in which case being able to use SQL is much easier.
Human processing benefits from pretty colors and organization. Machine processing is almost the exact opposite, it benefits from data definition and strong guarantees around invariants.
A graph is often the best way for a human to process something. But it's awful for a computer - computers can't see! At least not easily.
A nice in-between is something like XML. But if it's primarily gonna be interacted with by a computer, might as well make it a database.
Sure, more people have used SQL, but it’s definitely not impossible to just query XMLs. Hell, if someone has written JS they are likely familiar with DOM manipulations, which are more or less the same.
Now imagine you don't have vim, how do you open an XML file? You can use any of other thousands of text editors out there, or any of tens of libs in tens of different languages.
I think your take that sqlite is simpler than a text file is the weird one.
Or, you know, install SQLite. Although it is so ubiquitous that it is almost certainly installed already. Even on a mac it's there already. Or if you are on some system where it is not, a single package install away.
In fact, any database is more complex than a text file.
You sound like the kind of person to push at work for a database when a file would suffice, introducing needless complexity.
Simplicity versus complexity is not a linear scale like you describe.
Complex tools can lead to simpler implementations. This is the key people are missing.
For example, C++ is much more complex than C. Okay, now build a generic sequential data structure. It's a quarter the LOC in C++ versus C, and it's a much simpler implementation. Because C lacks the tools, so we have to use macros or maybe void pointers.
In this case, imagine you need to aggregate lots of data from different places, eliminate some of it, collapse some of it etc. For a reporting type thing.
Well, SQLite is more complex than XML. But doing this in SQL is much less complex, because XML lacks the tools. SQL is built for this, so you can do it in a quarter the amount of code, or maybe even less.
This statement is true, at a very superficial level. But it is missing all the nunace that goes into why would someone be using this file.
Are you comparing opening a text file in a text editor vs. opening the db.sqlite file in a text editor? Yes, of course the text file is more usable.
But what is the use case of just staring at the file? I can't imagine any.
If you are someone who wants to programmatically use the contents of that file (outside gnucash application), surely you are writing code to process the data. And thus, being able to use SQL is massively more convenient.