public override string ReadInnerXml() {
if (ReadState == ReadState.Interactive) {
if (NodeType == XmlNodeType.Element && ! IsEmptyElement) {
StringOutput output = new StringOutput(this.processor);
output.OmitXmlDecl();
int depth = Depth;
Read(); // skeep begin Element
while (depth < Depth) { // process content
Debug.Assert(this.builder != null);
output.RecordDone(this.builder);
Read();
}
Debug.Assert(NodeType == XmlNodeType.EndElement);
Read(); // skeep end element
output.TheEnd();
return output.Result;
}
else if(NodeType == XmlNodeType.Attribute) {
return encoder.AtributeInnerXml(Value);
}
else {
Read();
}
}
return string.Empty;
}