}
public override bool HasValue {
- get { return initial ? false : Reader.HasValue; }
+ get { return initial || eof ? false : Reader.HasValue; }
}
public override string LocalName {
- get { return initial ? String.Empty : Reader.LocalName; }
+ get { return initial || eof ? String.Empty : Reader.LocalName; }
}
public override string Name {
- get { return initial ? String.Empty : Reader.Name; }
+ get { return initial || eof ? String.Empty : Reader.Name; }
}
public override XmlNameTable NameTable {
}
public override string NamespaceURI {
- get { return initial ? String.Empty : Reader.NamespaceURI; }
+ get { return initial || eof ? String.Empty : Reader.NamespaceURI; }
}
public override XmlNodeType NodeType {
- get { return initial ? XmlNodeType.None : Reader.NodeType; }
+ get { return initial || eof ? XmlNodeType.None : Reader.NodeType; }
}
public override string Prefix {
- get { return initial ? String.Empty : Reader.Prefix; }
+ get { return initial || eof ? String.Empty : Reader.Prefix; }
}
public override ReadState ReadState {
get { return initial ? ReadState.Initial : eof ? ReadState.EndOfFile : Reader.ReadState ; }
}
+#if !NET_2_1
public override IXmlSchemaInfo SchemaInfo {
get { return Reader.SchemaInfo; }
}
+#endif
public override XmlReaderSettings Settings {
get { return Reader.Settings; }
public override void Close ()
{
- // do nothing
+ while (Read ())
+ ;
}
public override string GetAttribute (int i)
}
if (!read) {
read = true;
- return !Reader.IsEmptyElement && Reader.Read ();
+ Reader.MoveToElement ();
+ bool ret = !Reader.IsEmptyElement && Reader.Read ();
+ if (!ret)
+ eof = true;
+ return ret;
}
+ Reader.MoveToElement ();
if (Reader.Depth > startDepth)
if (Reader.Read ())
return true;