Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Редактирование XML файла


Автор: aleyah 5.4.2007, 13:47
У меня имеется следующий программный код.

Код

//Load the reader with the XML file.
    reader = new XmlTextReader("2books.xml");
    reader.WhitespaceHandling = WhitespaceHandling.None;
        
        
    reader.MoveToContent();


    //Parse the file and display each node.
    while (reader.Read())
    {
        if (reader.NodeType == XmlNodeType.Element && reader.Name == "book")                    
        {                        
            //Console.WriteLine("({0})  {1}={2}", reader.NodeType, reader.Name, reader.Value);
            reader.MoveToAttribute ("ISBN");                    
            Console.Write(" {0}={1}", reader.Name, reader.Value);                        
        }                                            
    }           



Каким образом мне изменить значение атрибута ISBN (reader.Value) с тем, чтобы переделать XML файл?

Автор: Choose_Life 5.4.2007, 16:54
XmlTextReader не может изменять данные xml-документа, на то он и reader. Для внесения изменений можно воспользоваться XmlWriter или XmlDocument. С использованием XmlDocument можно сделать примерно так:

Код

            XmlDocument document = new XmlDocument("2books.xml");
            XmlNodeList nodes = document.GetElementsByTagName("book");

            foreach (XmlNode node in nodes)
            {
                node.Attributes["ISBN"] = "newValue";
            }

            document.Save("file.xml");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)