Язык Visual Basic на платформе .NET.
Модераторы: Ramzes, Sebas
-
Vini
-
- Обычный пользователь
-
-
- Сообщения: 93
- Зарегистрирован: 29.03.2004 (Пн) 5:40
Vini » 14.02.2006 (Вт) 14:37
Привет всем кто сбда зашел!
Вот такой XML
- Код: Выделить всё
<LineItems>
<LineItem>
<OrderLine>
<PartNumberQualifier1>456</PartNumberQualifier1>
<PartNumber1>0353153</PartNumber1>
<PartNumber3>004152086325</PartNumber3>
<PartDescription1>lenta</PartDescription1>
<OrderQty>20</OrderQty>
<OrderQtyUOM>eh</OrderQtyUOM>
<UnitPrice>70.560</UnitPrice>
<OuterPack>72</OuterPack>
<InnerPack>20004</InnerPack>
</OrderLine>
</LineItem>
<LineItem>
<OrderLine>
<PartNumberQualifier1>789456</PartNumberQualifier1>
<PartNumber1>0353153</PartNumber1>
<PartNumber3>004152086325</PartNumber3>
<PartDescription1>plintus</PartDescription1>
<OrderQty>20</OrderQty>
<OrderQtyUOM>eh</OrderQtyUOM>
<UnitPrice>170.000</UnitPrice>
<OuterPack>50</OuterPack>
<InnerPack>20004</InnerPack>
</OrderLine>
</LineItem>
<LineItem>
<OrderLine>
<PartNumberQualifier1>7778852</PartNumberQualifier1>
<PartNumber1>0353153</PartNumber1>
<PartNumber3>004152086325</PartNumber3>
<PartDescription1>plitka</PartDescription1>
<OrderQty>95</OrderQty>
<OrderQtyUOM>eh</OrderQtyUOM>
<UnitPrice>59.000</UnitPrice>
<OuterPack>56</OuterPack>
<InnerPack>20004</InnerPack>
</OrderLine>
</LineItem>
</LineItems>
Помогите получить все LineItem со всеми данными.
Не знаю как построить loop в XML
Заранее спасибо.
-
Vini
-
- Обычный пользователь
-
-
- Сообщения: 93
- Зарегистрирован: 29.03.2004 (Пн) 5:40
Vini » 14.02.2006 (Вт) 19:24
Dmitriy Solomnikov писал(а):что конкретно не получается?
конкретно не получается все, не знаю с чего начать.
-
tyomitch
-
- Пользователь #1352
-
-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 14.02.2006 (Вт) 21:57
Начни с подключения в Project -> References библиотеки Microsoft XML...
-
Vini
-
- Обычный пользователь
-
-
- Сообщения: 93
- Зарегистрирован: 29.03.2004 (Пн) 5:40
Vini » 14.02.2006 (Вт) 22:45
Это я уже сделал, как на счет следующего шага?
-
Dmitriy Solomnikov
-
- Постоялец
-
-
- Сообщения: 407
- Зарегистрирован: 10.11.2004 (Ср) 13:04
- Откуда: Москва
-
Dmitriy Solomnikov » 14.02.2006 (Вт) 22:47
не берусь советовать, но мне кажется, что в твоем случае можно использовать DOM. Посмотри:
1. XMLDocument
2. GetElementsBy...
3. SelectNodes(), SelectSingleNode()
-
Vini
-
- Обычный пользователь
-
-
- Сообщения: 93
- Зарегистрирован: 29.03.2004 (Пн) 5:40
Vini » 14.02.2006 (Вт) 23:02
Вот что пока полкчилось, только выводит данные одного сета,
- Код: Выделить всё
Imports System.IO
Imports System.Xml
Module ParsingUsingXmlTextReader
Sub main(ByVal xmlFile As String)
Dim m_xmlr As XmlTextReader
m_xmlr = New XmlTextReader(xmlFile)
m_xmlr.WhitespaceHandling = WhitespaceHandling.None
m_xmlr.Read()
m_xmlr.Read()
'Loop
While Not m_xmlr.EOF
m_xmlr.Read()
If Not m_xmlr.IsStartElement() Then
Exit While
End If
Dim OrderLine = m_xmlr.GetAttribute("OrderLine")
m_xmlr.Read()
Dim PartNumberQualifier1 = m_xmlr.ReadElementString("PartNumberQualifier1")
Dim PartNumber1 = m_xmlr.ReadElementString("PartNumber1")
'Write Result to the Console
Console.WriteLine(PartNumberQualifier1 & " > " & PartNumber1)
Console.Write(vbCrLf)
End While
'close the reader
m_xmlr.Close()
End Sub
End Module
-
Dmitriy Solomnikov
-
- Постоялец
-
-
- Сообщения: 407
- Зарегистрирован: 10.11.2004 (Ср) 13:04
- Откуда: Москва
-
Dmitriy Solomnikov » 14.02.2006 (Вт) 23:50
Vini писал(а):Вот что пока полкчилось, только выводит данные одного сета,
- Код: Выделить всё
If Not m_xmlr.IsStartElement() Then
Exit While
End If
явно лишнее место в конструкции...просто убери этот кусок
Вернуться в Visual Basic .NET
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54