Вы можете использовать тот же шаблон, что и в первом ответе, с которым вы связались, но вам нужно будет включить условия для атрибутов в XPath.Ваш базовый XPath будет g/page/row/pic
.Поскольку вы хотите, чтобы атрибут no
для page
был 1
, вы добавляете [@no='1']
в качестве предиката для page
.Итак, полный запрос XPath - это что-то вроде g/page[@no='1']/row/pic[@pos='1']
.SelectSingleNode вернет изменяемый объект XmlNode, поэтому вы можете изменить этот объект и сохранить исходный документ, чтобы сохранить изменения.
Соединение XPath с Ответ Эль Падрино :
//Here is the variable with which you assign a new value to the attribute
string newValue = string.Empty;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFile);
XmlNode node = xmlDoc.SelectSingleNode("g/page[@no='1']/row/pic[@pos='1']");
node.Attributes["src"].Value = newValue;
xmlDoc.Save(xmlFile);
//xmlFile is the path of your file to be modified