private void ExtractXml(StringBuilder builder)
{
builder.Append("<");
builder.Append(m_reader.Prefix);
builder.Append(":");
builder.Append(m_reader.LocalName);
if (m_reader.HasAttributes)
{
for (int ii = 0; ii < m_reader.AttributeCount; ii++)
{
m_reader.MoveToAttribute(ii);
builder.Append(" ");
builder.Append(m_reader.Name);
builder.Append("='");
builder.Append(m_reader.Value);
builder.Append("'");
}
m_reader.MoveToElement(); // Moves the reader back to the element node.
}
m_reader.MoveToContent();
while (m_reader.NodeType != XmlNodeType.EndElement)
{
if (m_reader.IsStartElement())
{
ExtractXml(builder);
continue;
}
builder.Append(m_reader.ReadContentAsString());
}
m_reader.ReadEndElement();
}