I have attached end result plist, you can just remove the "[]" and childbrowser key/value pair and try the code.
Removing the doctype fixed the problem for us.
<ItemGroup>
<CordovaPlistInsert_AddElement Include="dummy">
<Element>key</Element>
<InnerText>ChildBrowser</InnerText>
</CordovaPlistInsert_AddElement>
<CordovaPlistInsert_AddElement Include="dummy">
<Element>string</Element>
<InnerText>ChildBrowserCommand</InnerText>
</CordovaPlistInsert_AddElement>
</ItemGroup>
<MSBuild.ExtensionPack.Xml.XmlFile
TaskAction="AddElement"
File="$(PathToCordovaPlist)"
Element="%(CordovaPlistInsert_AddElement.Element)"
XPath="/plist/dict/dict"
InnerText="%(CordovaPlistInsert_AddElement.InnerText)" />
Comments: Associated with changeset 79392.
Removing the doctype fixed the problem for us.
<ItemGroup>
<CordovaPlistInsert_AddElement Include="dummy">
<Element>key</Element>
<InnerText>ChildBrowser</InnerText>
</CordovaPlistInsert_AddElement>
<CordovaPlistInsert_AddElement Include="dummy">
<Element>string</Element>
<InnerText>ChildBrowserCommand</InnerText>
</CordovaPlistInsert_AddElement>
</ItemGroup>
<MSBuild.ExtensionPack.Xml.XmlFile
TaskAction="AddElement"
File="$(PathToCordovaPlist)"
Element="%(CordovaPlistInsert_AddElement.Element)"
XPath="/plist/dict/dict"
InnerText="%(CordovaPlistInsert_AddElement.InnerText)" />
Comments: Associated with changeset 79392.