Запись и чтение xml

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

kitit
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 05.10.2007 (Пт) 15:25

Запись и чтение xml

Сообщение kitit » 11.10.2007 (Чт) 14:56

Друзья научите новичка считывать данные и записывать в XML,
Код: Выделить всё

'Запись
Dim xtw As System.Xml.XmlTextWriter = New System.Xml.XmlTextWriter(My.Application.Info.DirectoryPath & "\my.cfg", Nothing)
With xtw
            .Formatting = System.Xml.Formatting.Indented
            .WriteStartDocument(False)
            .WriteComment("Confidential")
            .WriteStartElement("Spisok_Diskov", "Lokalnih")
            .WriteElementString("Disk1", "C:\")
            .WriteElementString("Disk2", "D:")
            .WriteStartElement("Maski_Faylov")
            .WriteElementString("Pattern1", "*.txt")
            .WriteElementString("Pattern1", "*.doc")
            .WriteEndElement()
            .WriteEndDocument()
            .Flush()
            .Close()
        End With


Код: Выделить всё
'Чтение
Dim xr As System.Xml.XmlTextReader = New System.Xml.XmlTextReader(My.Application.Info.DirectoryPath & "\my.cfg")
        While xr.Read()
            Select Case (xr.NodeType)
                                Case System.Xml.XmlNodeType.Element
                    Me.ListBox1.Items.Add("ElementName:" & xr.Name)
                                  Case System.Xml.XmlNodeType.Text
                                      Me.ListBox1.Items.Add("Text:" & xr.Value)
                              End Select
        End While



Но я не могу разобраться как записывать например четко в строку "Disk2", например поменять его на E:

Можно както не перебирая каждую строку, напирмер как в ИНИ-файл записать точно в конкретную......

Заранее всем спасибо.

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 11.10.2007 (Чт) 15:37

Тебе это нужно для настроек приложения?
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

kitit
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 05.10.2007 (Пт) 15:25

Сообщение kitit » 11.10.2007 (Чт) 15:48

да...
Только хотелось бы с примерчиком, не отправка меня в MSDN :oops:

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 11.10.2007 (Чт) 17:00

Создай класс настроек (все равно из него удобниее считывать) а потом сериализация / десериализация

kitit
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 05.10.2007 (Пт) 15:25

Сообщение kitit » 11.10.2007 (Чт) 17:15

Ramzes писал(а):Создай класс настроек (все равно из него удобниее считывать) а потом сериализация / десериализация


Ну примерчик можно... яж совсем дикий в этом вопросе :) ...pleeees

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 11.10.2007 (Чт) 20:33

kitit писал(а):
Ramzes писал(а):Создай класс настроек (все равно из него удобниее считывать) а потом сериализация / десериализация


Ну примерчик можно... яж совсем дикий в этом вопросе :) ...pleeees

Набросла за 5 мин на C#
если чего, пиши, переведу, сейчас лень на VB писать :)
Вложения
Serialization.zip
пример
(31.56 Кб) Скачиваний: 136

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 12.10.2007 (Пт) 8:26

Как вариант зайди в свойства проекта на вкладу "Settings".
В поле "Name" задай имя переменной (к примеру "LastAccess").
Доступ из кода
Код: Выделить всё
    MsgBox(My.Settings.LastAccess)
    My.Settings.LastAccess = Now.ToString
    My.Settings.Save()
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

kitit
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 05.10.2007 (Пт) 15:25

Сообщение kitit » 12.10.2007 (Пт) 18:05

Набросла за 5 мин на C#
если чего, пиши, переведу, сейчас лень на VB писать :)[/quote]

Спасибо...
На VB.NET нужно... у меня С# нет

Отдельное спасибо Nord777

kitit
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 05.10.2007 (Пт) 15:25

Сообщение kitit » 12.10.2007 (Пт) 18:25

Еще вопросик в Settings настройки только на текущий сеанс и после перезапуска приложения все станут по-умолчанию или нет?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 13.10.2007 (Сб) 1:47

настройки сохраняются
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

kitit
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 05.10.2007 (Пт) 15:25

Сообщение kitit » 15.10.2007 (Пн) 15:26

Можно ли програмно добавлять и удалять настройки?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 15.10.2007 (Пн) 22:30

Можно ли програмно добавлять и удалять настройки?

Не знаю. Подозреваю что нет.

Код: Выделить всё
    Dim path As String = My.Application.Info.DirectoryPath & "\my.xml"
    Dim xr As System.Xml.XmlTextReader = New System.Xml.XmlTextReader(path)

    Dim XDoc As New XmlDocument
    XDoc.Load(xr)

    Dim XNlist As XmlNodeList = XDoc.GetElementsByTagName("Disk1")
    XNlist(0).InnerText = "Z:\"
    xr.Close()

    Dim xtw As System.Xml.XmlTextWriter = New System.Xml.XmlTextWriter(path, Nothing)
    XDoc.WriteTo(xtw)
    xtw.Close()
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Thomas
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 246
Зарегистрирован: 12.11.2005 (Сб) 0:17
Откуда: "Сказочное королевство"

Сообщение Thomas » 15.10.2007 (Пн) 22:50

kitit
Посмотри еще вот это
Может пригодиться.
Met vriendelijke groetjes
VS2008 Pro FW3.5 SP1


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89

    TopList