0

こんにちは私はSilverlightでXMLを解析しています、私のXMLには1つのタグがあります

<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 に答える