XmlSerializer的异常行为

I have a Child inherited from List<string>. I have two parent classes containing Children, one as list, another as an array. The XmlSerializer initialization works well for the one who have Children as List and fails for second one with NullReference exception. I need Parent2 serialized with an array of Childs. Am I missing something?

void Main()
{
    XmlSerializer serParent1 = new XmlSerializer(typeof(Parent1)); // works well
    XmlSerializer serParent2 = new XmlSerializer(typeof(Parent2)); // fails
}

public class Parent1
{
    public List<Child> Children { get; set; }
}

public class Parent2
{
    public Child[] Children { get; set; }
}

public class Child : List<string>
{
}