I used text editor to open an .sln file, it looks like a tree structure, but it's not xml format.
Do you know what format it is, and can we process it using C#, like processing xml conveniently?
Here is the description of the format: https://msdn.microsoft.com/en-us/library/bb165951(v=vs.140).aspx
You're right, it is not XML, but another text-based format:
The .sln file contains text-based information the environment uses to find and load the name-value parameters for the persisted data and the project VSPackages it references.
And for parsing the file you can look at this question: Parsing Visual Studio Solution files