I need to be able to define an attribute with a prefix in a xml element.
For instance...
>
Since my search kept taking me here, I'll answer this for XElement. I don't know if this solution is also valid for XmlElement, but it will hopefully at least help others using XElement, who end up here.
Based on this I added xml:space="preserve" to all data-nodes in some template, before looking up and adding their contents. It's weird code IMO (I would prefer three parameters as shown above, but it does the job:
foreach (XElement lElement in root.Descendants(myTag))
{
lElement.Add(new XAttribute(root.GetNamespaceOfPrefix("xml") + "space", "preserve"));
}