Shouldn't the element name be "name" not "value" in the assignment statement?
try this:
var doc = XDocument.Parse(xmlString);
XElement shippingElement = (from xml2 in doc
.Elements("extradata").Elements("SharedCustomAppData")
.Elements("clsNameValues").Elements("clsnamevalue")
where xml2.Element("name").Attribute("Value").Value == "SHOP_FLOOR_INSTR"
select xml2).FirstOrDefault();
shippingElement.Element("name").Attribute("Value").Value = "Changed!";