заменить старые значения на новые значения в XML - PullRequest
0 голосов
/ 06 февраля 2012

Привет. Я пытаюсь прочитать строку 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.

1 Ответ

2 голосов
/ 06 февраля 2012

Чтобы играть с данными XML, если вы используете .net версии 3.5, лучше для пользователя LINQ to XML .

http://www.codeproject.com/Articles/24376/LINQ-to-XML

или

Управление данными XML с помощью XPath и XmlDocument (C #)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...