Здравствуйте!
Мне необходимо разбить XML файл следубщего содержания на части, где каждая часть будет представлять по одному блоку <bml>.
<?xml version="1.0" encoding="UTF-8" ?>
<bml>
<head type="nod"/>
<gaze target="point"/>
<head type="shake"/>
<gesture type="POINT"/>
<sbm:animation name="heands_side"/>
<gaze target="cow"/>
</bml>
<bml>
<sbm:animation name="heands_side"/>
<gaze target="cow1"/>
</bml>
<bml>
<head type="nod"/>
<gaze target="point1"/>
</bml>
Выглядит это примерно так:
Do While (readerXML1.Read())
Select Case readerXML1.NodeType
Case XmlNodeType.Element
writerXML2.WriteStartElement(readerXML1.Name)
If readerXML1.HasAttributes Then
writerXML2.WriteAttributes(readerXML1, True)
xmlChange(readerXML1, writerXML2)
End If
Case XmlNodeType.Text 'Display the text in each element.
writerXML2.WriteString(readerXML1.Value)
Case XmlNodeType.EndElement 'Display end of element.
If "bml" = readerXML1.LocalName Then
writerXML2.WriteEndElement()
n = n + 1
writerXML2.Close()
XmLFragmentation(readerXML1, n)
End If
End Select
Loop
Долго бъюсь, не могу понять как сделать так, чтобы после последнего блока работа прекращалась. Буду очень благодарна за помощь!
Ответить
|