XmlReader ReadStartElement вызывает исключение XmlException

Я пишу программу чтения файлов, используя XmlReader в проекте Silverlight. Однако я получаю некоторые ошибки (особенно в отношении метода XmlReader.ReadStartElement), и это заставляет меня поверить в то, что я неправильно понял, как его использовать где-то по пути.

В основном, вот образец формата Xml, который я использую:



    
    
        
    

А вот образец кода, используемого таким же образом, как я его использую:

public void ReadData(XmlReader reader)
{
    // Move to root element
    reader.ReadStartElement("root");

    // Move to the empty element
    reader.ReadStartElement("EmptyElement");

    // Read any children
    while(reader.ReadToNextSibling("SubEmptyElement"))
    {
        // ...
    }

    // Read the end of the empty element
    reader.ReadEndElement();

    // Move to the non empty element
    reader.ReadStartElement("NonEmptyElement");    // NOTE: This is where I get the error.

    // ...
}

Итак, по сути, я просто пытаюсь прочитать каждый элемент и все содержащиеся в нем дочерние элементы. Ошибка, которую я получаю в выделенном месте, выглядит следующим образом:

Описание ошибки

m получаю некоторые ошибки (особенно в отношении метода XmlReader.ReadStartElement), и это заставляет меня поверить, что ...

Я пишу программу чтения файлов, используя XmlReader в проекте Silverlight. Однако я получаю некоторые ошибки (особенно в отношении метода XmlReader.ReadStartElement), и это заставляет меня поверить в то, что я неправильно понял, как его использовать где-то по пути.

В основном, вот образец формата Xml, который я использую:



    
    
        
    

А вот пример кода, используемого так же, как я его использую:

public void ReadData(XmlReader reader)
{
    // Move to root element
    reader.ReadStartElement("root");

    // Move to the empty element
    reader.ReadStartElement("EmptyElement");

    // Read any children
    while(reader.ReadToNextSibling("SubEmptyElement"))
    {
        // ...
    }

    // Read the end of the empty element
    reader.ReadEndElement();

    // Move to the non empty element
    reader.ReadStartElement("NonEmptyElement");    // NOTE: This is where I get the error.

    // ...
}

Итак, по сути, я просто пытаюсь прочитать каждый элемент и все содержащиеся в нем дочерние элементы. Ошибка, которую я получаю в выделенном месте, выглядит следующим образом:

Описание ошибки

m получаю некоторые ошибки (особенно в отношении метода XmlReader.ReadStartElement), и это заставляет меня поверить, что ...

Я пишу программу чтения файлов, используя XmlReader в проекте Silverlight. Однако я получаю некоторые ошибки (особенно в отношении метода XmlReader.ReadStartElement), и это заставляет меня поверить в то, что я неправильно понял, как его использовать где-то по пути.

В основном, вот образец формата Xml, который я использую:



    
    
        
    

А вот пример кода, используемого так же, как я его использую:

public void ReadData(XmlReader reader)
{
    // Move to root element
    reader.ReadStartElement("root");

    // Move to the empty element
    reader.ReadStartElement("EmptyElement");

    // Read any children
    while(reader.ReadToNextSibling("SubEmptyElement"))
    {
        // ...
    }

    // Read the end of the empty element
    reader.ReadEndElement();

    // Move to the non empty element
    reader.ReadStartElement("NonEmptyElement");    // NOTE: This is where I get the error.

    // ...
}

Итак, по сути, я просто пытаюсь прочитать каждый элемент и все содержащиеся в нем дочерние элементы. Ошибка, которую я получаю в выделенном месте, выглядит следующим образом:

Описание ошибки

заставляет меня поверить, что ...

Я пишу программу для чтения файлов, используя XmlReader в проекте Silverlight. Однако я получаю некоторые ошибки (особенно в отношении метода XmlReader.ReadStartElement), и это заставляет меня поверить в то, что я неправильно понял, как его использовать где-то по пути.

В основном, вот образец формата Xml, который я использую:



    
    
        
    

А вот пример кода, используемого так же, как я его использую:

public void ReadData(XmlReader reader)
{
    // Move to root element
    reader.ReadStartElement("root");

    // Move to the empty element
    reader.ReadStartElement("EmptyElement");

    // Read any children
    while(reader.ReadToNextSibling("SubEmptyElement"))
    {
        // ...
    }

    // Read the end of the empty element
    reader.ReadEndElement();

    // Move to the non empty element
    reader.ReadStartElement("NonEmptyElement");    // NOTE: This is where I get the error.

    // ...
}

Итак, по сути, я просто пытаюсь прочитать каждый элемент и все содержащиеся в нем дочерние элементы. Ошибка, которую я получаю в выделенном месте, выглядит следующим образом:

Описание ошибки

заставляет меня поверить, что ...

Я пишу программу для чтения файлов, используя XmlReader в проекте Silverlight. Однако я получаю некоторые ошибки (особенно в отношении метода XmlReader.ReadStartElement), и это заставляет меня поверить в то, что я неправильно понял, как его использовать где-то по пути.

В основном, вот образец формата Xml, который я использую:



    
    
        
    

А вот образец кода, используемого таким же образом, как я его использую:

public void ReadData(XmlReader reader)
{
    // Move to root element
    reader.ReadStartElement("root");

    // Move to the empty element
    reader.ReadStartElement("EmptyElement");

    // Read any children
    while(reader.ReadToNextSibling("SubEmptyElement"))
    {
        // ...
    }

    // Read the end of the empty element
    reader.ReadEndElement();

    // Move to the non empty element
    reader.ReadStartElement("NonEmptyElement");    // NOTE: This is where I get the error.

    // ...
}

Итак, по сути, я просто пытаюсь прочитать каждый элемент и все содержащиеся в нем дочерние элементы. Ошибка, которую я получаю в выделенном месте, выглядит следующим образом:

Описание ошибки

ReadStartElement), и это заставило меня поверить в то, что я неправильно понял, как его использовать где-то по ходу дела.

По сути, вот образец формата Xml, который я использую:



    
    
        
    

А вот образец некоторого кода, используемого таким же образом, как и я:

public void ReadData(XmlReader reader)
{
    // Move to root element
    reader.ReadStartElement("root");

    // Move to the empty element
    reader.ReadStartElement("EmptyElement");

    // Read any children
    while(reader.ReadToNextSibling("SubEmptyElement"))
    {
        // ...
    }

    // Read the end of the empty element
    reader.ReadEndElement();

    // Move to the non empty element
    reader.ReadStartElement("NonEmptyElement");    // NOTE: This is where I get the error.

    // ...
}

Итак, по сути, я просто пытаюсь прочитать каждый элемент и все содержащиеся в нем дочерние элементы. Ошибка, которую я получаю в выделенном месте, выглядит следующим образом:

Описание ошибки

ReadStartElement), и это заставляет меня поверить в то, что я неправильно понял, как его использовать где-то по ходу дела.

По сути, вот образец формата Xml, который я использую:



    
    
        
    

А вот образец некоторого кода, используемого таким же образом, как и я:

public void ReadData(XmlReader reader)
{
    // Move to root element
    reader.ReadStartElement("root");

    // Move to the empty element
    reader.ReadStartElement("EmptyElement");

    // Read any children
    while(reader.ReadToNextSibling("SubEmptyElement"))
    {
        // ...
    }

    // Read the end of the empty element
    reader.ReadEndElement();

    // Move to the non empty element
    reader.ReadStartElement("NonEmptyElement");    // NOTE: This is where I get the error.

    // ...
}

Итак, по сути, я просто пытаюсь прочитать каждый элемент и все содержащиеся в нем дочерние элементы. Ошибка, которую я получаю в выделенном месте, выглядит следующим образом:

Описание ошибки

[Xml_InvalidNodeType] Аргументы: Нет, 10,8 Строки отладочных ресурсов недоступны. Часто ключ и аргументы предоставляют достаточно информации для диагностики проблемы. См. http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.51204.0&File=System.Xml.dll&Key=Xml_InvalidNodeType

Трассировка стека ошибок

в System.Xml.XmlReader.ReadStartElement (Имя строки) at ----------------

Мы будем очень благодарны за любые советы или указания по этому поводу.

ИЗМЕНИТЬ Поскольку этот читатель должен быть достаточно универсальным, можно предположить, что Xml может содержать элементы, которые являются дочерними элементами EmptyElement. Таким образом, попытка чтения любых SubEmptyElements должна быть допустимой.

6
задан Samuel Slade 13 February 2011 в 12:00
поделиться