setNodeList<T extends TagXml, V extends TagXml> method

void setNodeList<T extends TagXml, V extends TagXml>(
  1. String listRootTag,
  2. Iterable<V> values
)

Add a node thats wrap a list of child nodes

Implementation

void setNodeList<T extends TagXml, V extends TagXml>(String listRootTag, Iterable<V> values) {
  var listTag = mutate(childElements.firstWhereOrNull((x) => x.name.qualified == listRootTag), () => TagXml.fromTagName(listRootTag), true)!;
  listTag.children.clear();
  for (var v in values) {
    if (v.hasParent) v.remove();
    listTag.children.add(v);
  }
  if (listTag.hasParent == false) children.add(listTag);
}