private void PromoteNonValueChildren(XmlNode parent)
{
Debug.Assert(parent != null);
XmlNode prevSibling = parent;
XmlNode child = parent.FirstChild;
bool bTextLikeNode = true;
XmlNode nextSibling = null;
while (child != null)
{
nextSibling = child.NextSibling;
if (!bTextLikeNode || !IsTextLikeNode(child))
{
bTextLikeNode = false;
nextSibling = child.NextSibling;
PromoteChild(child, prevSibling);
prevSibling = child;
}
child = nextSibling;
}
}