You can express as a power series and then calculate the inverse of the series although I'm not sure how to determine the radius of convergence. Here's a reference:
Inverse Functions
So being the Mathematica head that I am, I calculated the first 10 terms of this inverse series with center at x=3:
Code:
In[45]:= g[x_] =
Normal[InverseSeries[N[Series[x^Sin[x], {x, 3, 10}]]]]
Out[45]= 3. - 0.822989 (-1.1677 + x) + 0.0820429 (-1.1677 + x)^2 -
0.262188 (-1.1677 + x)^3 + 0.0118825 (-1.1677 + x)^4 -
0.180992 (-1.1677 + x)^5 - 0.0290483 (-1.1677 + x)^6 -
0.16546 (-1.1677 + x)^7 - 0.0691759 (-1.1677 + x)^8 -
0.180742 (-1.1677 + x)^9 - 0.120446 (-1.1677 + x)^10
and then tested it with f(3.4):
Code:
In[39]:= f[x_] := x^Sin[x];
yval = N[f[3.4]]
xval = g[yval]
Out[40]= 0.731451
Out[41]= 3.39998
Not too bad.