Привет. Я пытаюсь прочитать строку XML и пытаюсь заменить старые значения на новые. Но не знаю, как это сделать ... потому что он доступен только для чтения.ПРИМЕЧАНИЕ: Я НЕ ХОЧУ ИСПОЛЬЗОВАТЬ STRING.REPLACE, так как это может быть использовано другими способами, такими как добавление других элементов.
string oldValue = "<?xml version=\"1.0\" encoding=\"utf-16\"?><string>Hi This is old values</string>";
string newValue = "<?xml version=\"1.0\" encoding=\"utf-16\"?><string>Hi I am the new values</string>";
Вот что я пытаюсь сделать:
private string WriteXmlValue()
{
string currentXml = "<?xml version=\"1.0\" encoding=\"utf-16\"?><string>Hi This is old values</string>";
string newValue = "Hi I am the new values";
string newXmlstring = string.empty;
using (XmlReader xmlReader = XmlReader.Create(new StringReader(currentXml)))
{
while (xmlReader.Read())
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Text:
//TODO Replace xmlReader.Value to newValue??
xmlReader.Value = newValue; //Erroring read only .. How do i modify value??
newXmlstring = xmlReader.value;
break;
}
}
}
return newXmlstring;
}
Затем я пытаюсь вернуть эту новую строку xmlstring.