Как изменить значение по умолчанию для следующего элемента XElement в C# с помощью LINQ:
<Automobile>
<MainBlock>Car</MainBlock>
<Name>Audi</Name>
<Value> type = "System.Double" min = "0" max = "100" default = "50" resolution = "1.0" unit = ""</Value>
</Automobile>
Значение по умолчанию — 50. Я хочу изменить его на 20.
Это атрибут. И вопрос xml не корректен. Не хватает закрытия > значения.
у вас есть много решений для этого. Одно решение:
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(@"
<Automobile>
<MainBlock>Car</MainBlock>
<Name>Audi</Name>
<Value type = ""System.Double"" min = ""0"" max = ""100"" default = ""50"" resolution = ""1.0"" unit = """"></Value>
</Automobile>");
XmlNode sNode = xmldoc.SelectSingleNode("/Automobile/Value");
XmlAttribute defautAttribute = sNode.Attributes["default"];
if (defautAttribute != null)
defautAttribute.Value = "20";
Спасибо. Есть ли способ сделать это с помощью LINQ?
нет чистого linq, но вы можете использовать linq для xml
Вот реализация LINQ to XML.
С#
void Main()
{
XDocument xdoc = XDocument.Parse(@"<Automobile>
<MainBlock>Car</MainBlock>
<Name>Audi</Name>
<Value type='System.Double' min='0' max='100' default='50'></Value>
</Automobile>");
xdoc.Element("Automobile").Element("Value").Attribute("default").SetValue("20");
}
Что вы пробовали? Что работает, что нет?