This document described storing a tree data structure as xml for querying and processing. This is trivial computer science. How did this patent get approved?
It's not software; it's a "method," which is a type of process.
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof may obtain a patent therefor, subject to the conditions and requirements of this title.
(Software would be a particular program employing this process, written in a particular programming language and run on a particular hardware platform.)
To be protected by patent, an invention must be novel and non-obvious. The patent office doesn't get too deeply into questions of obviousness, however; these will come up when a patent's validity is challenged, for example in court, generally in response to an accusation of patent infringement.
If you believe the invention is obvious, and that you could prove that in a court of law, you can use the invention secure in the knowledge that you will prevail when IBM comes after you for patent infringement. If you don't have very deep pockets, however, you might want to think twice about pursuing that strategy.
The U.S. Patent office has essentially ZERO expertise in software. In fact, software development does nothing to get you into the patent bar. The patent office routinely grants patents to non-original software ideas or non-patentable subject matter wrapped in gobbledygook.