Да, вы можете следовать описанному вами шаблону. По моему мнению, создание такого документа не очень эффективно, но, возможно, с некоторыми вспомогательными методами это становится проще?
final document = XmlDocument();
final root = XmlElement(XmlName('root'));
final child = XmlElement(XmlName('child'), [], [XmlText('Hello World!')]);
root.children.add(child);
document.children.add(root);
print(document.toXmlString(pretty: true));
Приведенный выше код выводит следующий вывод:
<root>
<child>Hello World!</child>
</root>