Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Импорт XML файла в Visual Basic 2010

Ответить
Настройки темы
.NET - Импорт XML файла в Visual Basic 2010

Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Изменения
Автор: neo21
Дата: 04-06-2012
Доброго времени суток.
Есть XML файл:

Код: Выделить весь код
<?xml version="1.0" encoding="windows-1251"?>
<document>
  <data>
    <next1>777</next1>
    <next2>888</next2>
    <next3>999</next3>
  	<next4 ROWNUM="1">1</next4>
	<next4 ROWNUM="2">2</next4>
	<next4 ROWNUM="3">3</next4>
	<next4 ROWNUM="4">4</next4>
  </data>
 </document>
С помощью программы:

Код:


Код: Выделить весь код
Imports System.Xml
Imports System.Data

Public Class Form1
#Region "XML"
    Public Shared Function EmptyStringToNull(ByVal o As String) As Object
        Dim ret As Object = DBNull.Value
        Try
            If o.Trim.Length = 0 Then
                ret = DBNull.Value
            Else
                ret = o
            End If
        Catch ex As Exception

        End Try
        Return ret
    End Function
    Private Sub ReadXMLFile()
        Dim xmlDoc As New System.Xml.XmlDocument
        Dim root As XmlElement = Nothing
        Dim nodes As XmlNodeList = Nothing
        Dim node As XmlNode = Nothing
        Dim xmlFile As String = ""
        Try
            OpenFileDialog1.ShowDialog()
            xmlFile = OpenFileDialog1.FileName
            xmlDoc.Load(xmlFile)
            root = xmlDoc.DocumentElement
            nodes = root.SelectNodes("//document/data") 'The XMLPath
            Me.DataGridView1.Rows.Clear() 'Clear Grid
            For Each node In nodes
                Me.DataGridView1.Rows.Add(EmptyStringToNull(node("next1").InnerText), EmptyStringToNull(node("next2").InnerText), EmptyStringToNull(node("next3").InnerText), EmptyStringToNull(node("next4").InnerText))
            Next
        Catch ex As Exception

        End Try
    End Sub
#End Region
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ReadXMLFile()
    End Sub

End Class
Я загружаю данные из XML файла в DataGridView1.
Как сделать, чтобы в столбец next4 грузились все данные:
Код: Выделить весь код
<next4 ROWNUM="2">2</next4>
<next4 ROWNUM="3">3</next4>
<next4 ROWNUM="4">4</next4>

Отправлено: 23:24, 03-06-2012

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата neo21:
в столбец next4 грузились все данные: »
Т.е. в одну ячейку все 4 данных? или как? Покажи на примере Excel, каким ты хочешь видеть результат.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:30, 04-06-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Delirium:
Покажи на примере Excel, каким ты хочешь видеть результат. »

Отправлено: 10:26, 04-06-2012 | #3


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Чтобы так отобразить, необходимо определить количество записей next4. И потом в цикле добавлять строки. Причем на первой итерации добавить все данные (next1,next2,next3,next4(1 значение)), а на последующих итерациях добавлять только лишь строки с данными из next4.

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:02, 04-06-2012 | #4


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата LilLoco:
а на последующих итерациях добавлять только лишь строки с данными из next4 »
Не пойму как добавить строки с данными из next4
Куда ставить:
ROWNUM="2"
ROWNUM="3"
ROWNUM="4"

Последний раз редактировалось neo21, 04-06-2012 в 12:34.


Отправлено: 12:26, 04-06-2012 | #5


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Если не сложно и не секретно можно выложить проект и *.xml файл? Будет проще разобраться

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:55, 04-06-2012 | #6


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


LilLoco, Так он есть
Цитата neo21:
Код:
<?xml version="1.0" encoding="windows-1251"?>
<document>
<data>
<next1>777</next1>
<next2>888</next2>
<next3>999</next3>
<next4 ROWNUM="1">1</next4>
<next4 ROWNUM="2">2</next4>
<next4 ROWNUM="3">3</next4>
<next4 ROWNUM="4">4</next4>
</data>
</document> »
Могу файлом загрузить.

Отправлено: 13:22, 04-06-2012 | #7


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Еще бы сам проект Чтобы не писать код самостоятельно...

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:23, 04-06-2012 | #8


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


LilLoco, Ок, через 30 мин.

Отправлено: 13:25, 04-06-2012 | #9


Пользователь


Сообщения: 66
Благодарности: 7

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: 7z How to load XML to Datagridview.7z
(39.5 Kb, 21 просмотров)
Тип файла: xml test.xml
(292 байт, 13 просмотров)

Проэкт
XML

Отправлено: 13:33, 04-06-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Импорт XML файла в Visual Basic 2010

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Открытие файла Excel в Visual Basic 2010 neo21 Программирование и базы данных 18 27-07-2016 14:22
Разное - [решено] Импорт таблицы Excel в Visual Basic 2010 neo21 Программирование и базы данных 13 28-11-2011 00:22
Разное - [решено] DataGridView в Visual Basic 2010 neo21 Программирование и базы данных 2 22-11-2011 02:48
Разное - [решено] Переименование файла в в Visual Basic 2010 neo21 Программирование и базы данных 4 06-11-2011 12:11
Разное - [решено] Progressbar в Visual Basic 2010 neo21 Программирование и базы данных 4 30-10-2011 16:29




 
Переход