//============================================================ // <T>序列化内容到输出流内。</T> // <P>只处理结点类型数据。</P> // // @param output 输出流 // @param element 元素对象 //============================================================ protected void InnerSerialize(IDataOutput output, FXmlElement element) { if (element.Type == EXmlElementType.Node) { output.WriteString(element.Name); output.WriteString(element.Text); if (element.HasAttribute()) { output.WriteInt16((short)element.Attributes.Count); foreach (IStringPair pair in element.Attributes) { output.WriteString(pair.Name); output.WriteString(pair.Value); } } else { output.WriteInt16(0); } int nodeCount = element.ElementCount(EXmlElementType.Node); output.WriteInt16((short)nodeCount); if (nodeCount > 0) { foreach (FXmlElement child in element.Elements) { if (child.Type == EXmlElementType.Node) { InnerSerialize(output, child); } } } } }