Я не уверен, где вы взяли
resp, err := http.Post("http://xxx.xxx.xx.xxx:8080/webservice/", "c:\\xml\\test.xml", nil)
с. Документы говорят, что подпись net/http.Post
равна
func Post(url, contentType string, body io.Reader) (resp *Response, err error)
То есть вторым параметром является тип содержимого полезной нагрузки, подлежащей отправке, а третьим - источник, из которого следует считать данные, подлежащие отправке.
Следовательно, если у вас есть строка, содержащая данные XML
(создание XML-документа с использованием строковых операций почти всегда неправильно, но пока не будем отступать),
Вы можете иметь io.Reader
для чтения данных с него, позвонив
strings.NewReader()
в вашей строке.
Таким образом, вызов станет
resp, err := http.Post("http://xxx.xxx.xx.xxx:8080/webservice/", "application/xml", strings.NewReader(yourStringWithXML))