static string GetAttribute(byte[] name, byte[] input)
{
int start = input.IndexOfSubArray(name);
if (start == -1)
return null;
start += name.Length;
int end = Array.IndexOf(input, s_close, start);
if (end == -1)
return null; // error
return Encoding.UTF8.GetString(input.SubArray(start, end - start));
}