xml and c programming for unix

Does anyone can tell me what is the best way to post a xml request to a web service on C. I am using expat for parsing the response, but until now i build my xml request with a bunch of strcat functions, then connect to the port and send it that way. I am wondering if there are libraries or a command line tool that would make my job easier since the xml requests/response are getting a little bit more complex and longer. If your have any input and samples if possible, i would be very thankfull.

libxml or libxml2 -

here is the tutorial for libxml using C:

Libxml Tutorial

thanks jim; i am using libxml2 and xpath to do handle my replies. It is working ok when the xml file uses the <> charactesr, but in am having an issue when the returned xml has the predefined entities < &gt etc. I am trying to find the function to change from ≶ , > to <> but no success yet; any ideas

If these two predefined entities are in text nodes, they can be handled using DOE (disable output escaping) in XSLT1 or character mapping in XSLT2.

If these two predefined entities are what surround the nodes, you need to perform a serialization step to convert these two entities to < and > before handing off the file/document/stream to your stylesheet transformation engine.