0

您好我在 Silverlight 中解析 XML,在我的 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 标签一切正常)。请帮帮我。

4

1 回答 1

1

在这种XmlNodeType.Element情况下,您可以使用属性测试它是否为空元素reader.IsEmptyElement,这意味着该元素在同一迭代中打开和关闭。

于 2010-04-30T07:53:40.630 回答