XMLReader в Silverlight <test /> проблема с тегом типа - PullRequest
0 голосов
/ 30 апреля 2010

Привет, я анализирую XML в silverlight, в моем XML у меня есть один тег, как

<test attribute1="123" />
<test1 attribute2="345">abc text</test1>

Я использую XMLReader для разбора XML как

    using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{

        // Parse the file and display each of the nodes.
        while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
            //process start tag here
                    break;
                case XmlNodeType.Text:
            //process text here
                    break;
                case XmlNodeType.XmlDeclaration:
                case XmlNodeType.ProcessingInstruction:

                    break;
                case XmlNodeType.Comment:

                    break;
                case XmlNodeType.EndElement:
            //process end tag here
                    break;
            }
        }
}

но проблема в том, что для тестового тега не получен EndElement? что делает всю мою логику программы неправильной. (для тега test1 все работает нормально). Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 30 апреля 2010

В случае XmlNodeType.Element вы можете проверить, является ли это пустым элементом, используя свойство reader.IsEmptyElement, которое означает, что элемент открывается и закрывается в одной и той же итерации.

...