public virtual ResXMLTree_startelement ReadResXMLTree_startelement(ResXMLTree_node node, ResXMLTree_attrExt attrExt) { var element = new ResXMLTree_startelement { Node = node, AttrExt = attrExt, Attributes = new List <ResXMLTree_attribute>() }; var bytesLeft = node.Header.Size - 0x24u; for (var i = 0; i < attrExt.AttributeCount; i++) { element.Attributes.Add(ReadResXMLTree_attribute()); bytesLeft -= 0x14u; } if (bytesLeft < 0) { throw new InvalidDataException("The length of the content exceeds the ResStringPool block boundary."); } if (bytesLeft > 0) { Debug.WriteLine("Warning: Garbage at the end of the StringPool block. Padding?"); ReadBytes((int)bytesLeft); } return(element); }
public virtual void Write(ResXMLTree_attrExt data) { Write(data.Namespace); Write(data.Name); _writer.Write(data.AttributeStart); _writer.Write(data.AttributeSize); _writer.Write(data.AttributeCount); _writer.Write(data.IdIndex); _writer.Write(data.ClassIndex); _writer.Write(data.StyleIndex); }