no option for changing XML, but any "kind" of XML have representation in code, layouts, values, drawables etc. So you can import your XML to code and change it there
fun fact you are using <shape so this should refer to ShapeDrawable, but thanks to THIS QA we do know that it is in fact GradientDrawable. Still under link you can find a way for "porting" your XML to code - make some "factory" or "helper" or whatever your style is and prepare in there properly colorised shapes for your Views, e.g. by taking color as param of some static method
Resources r = context.getResources();
GradientDrawable yourDrawable =
(GradientDrawable) (r.getDrawable(R.drawable.rounded_corners).mutate());
yourDrawable.setColor(color);
note mutate() call, it is important if you are reusing your shape many times. if you won't call it all existing instances of your shape will get color set lastly for last created/modified shape
edit: worth noting that such basic XML-defined shape as in question may be easily created with code only everytime is needed (without need for mutate() call). the purpose of XMLs is to fast load and apply them using built-in mechanisms in framework, they shouldn't be loaded and modified programmatically, at least not to often (as pure code will be always more efficient, at least a very little bit, than some parser, which will build code for you)