public void ManuallyDeclaredPrefixNamespacePairIsNotReflectedInTheXElementSerialization() { var element = XElement.Parse("<A/>"); element.Add(new XAttribute(XNamespace.Xmlns + "p", "ns")); element.Add(new XElement("{ns}B", null)); MemoryStream sourceStream = new MemoryStream(); element.Save(sourceStream); sourceStream.Position = 0; // creating the following element with expected output so we can compare XElement target = XElement.Parse("<A xmlns:p=\"ns\"><p:B /></A>"); MemoryStream targetStream = new MemoryStream(); target.Save(targetStream); targetStream.Position = 0; XmlDiff.XmlDiff diff = new XmlDiff.XmlDiff(); Assert.True(diff.Compare(sourceStream, targetStream)); }