I've been trying to parse the following XML file with the .NET XMLTextReader
<?xml version="1.0"?><level1><level2><level3>Test</level3><level3>Test2</level3></level2><level2><level3>Test</level3><level3>Test2</level3><level3><level4>TEST<level5>TEST5</level5>TESTP</level4><level4>Test4</level4></level3></level2></level1
However, the resulting output does not seem to make any sense
Start Element: level1 @
Start Element: level2 @
Start Element: level3 @
CDATA: Test @
Start Element: level3 @
CDATA: Test2 @
CDATA: @
Start Element: level2 @
Start Element: level3 @
CDATA: Test @
Start Element: level3 @
CDATA: Test2 @
Start Element: level3 @
Start Element: level4 @
CDATA: TEST @
CDATA: TEST5 @
CDATA: TESTP @
Start Element: level4 @
CDATA: Test4 @
CDATA: @
CDATA: @
CDATA: @
Notice how "TEST" and "TESTP" are both contents of the "<level4>" tag, yet XMLTextReader thinks that they are at different levels. Furthermore, the "<level5>" tag is completely ignored as a "Start Element". What's going on? I thought mixing contents in an element was allowed
Portion of my code responsible for this
public void Parse2(
while(MyXMLReader.Read()
if (MyXMLReader.IsStartElement()
Console.WriteLine("Start Element: " + MyXMLReader.Name + " @ " + MyXMLReader.Depth)
els
Console.WriteLine("CDATA: " + MyXMLReader.ReadString() + " @ " + MyXMLReader.Depth)
}
Thanks.