Advertisement
Guest User

XmlAttributeRemoval

a guest
Aug 29th, 2016
1,058
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.30 KB | None | 0 0
  1. using System.IO;
  2. using System.Runtime.Serialization.Json;
  3. using System.Text;
  4. using System.Xml;
  5. using System.Xml.Linq;
  6.  
  7. class Program
  8. {
  9.     public static void Main()
  10.     {
  11.         var jsonString = "{\"id\":\"108013515952807\",\"posts\":{\"data\":[{\"id\":\"108013515952807_470186843068804\",\"created_time\":\"2013-05-14T20:43:28+0000\"},{\"message\":\"TEKST\",\"id\":\"108013515952807_470178529736302\",\"created_time\":\"2013-05-14T20:22:07+0000\"}]}}";
  12.         var xDoc = JsonToXml(jsonString);
  13.  
  14.         var doc = new XmlDocument();
  15.         doc.Load(xDoc.Root.CreateReader());
  16.  
  17.         RemoveAttr(doc.DocumentElement);
  18.  
  19.         var result = doc.OuterXml;
  20.     }
  21.  
  22.     private static void RemoveAttr(XmlNode root)
  23.     {
  24.         if (root is XmlElement)
  25.         {
  26.             root.Attributes.RemoveNamedItem("type");
  27.             if (root.HasChildNodes) RemoveAttr(root.FirstChild);
  28.             if (root.NextSibling != null) RemoveAttr(root.NextSibling);
  29.         }
  30.     }
  31.  
  32.     private static XDocument JsonToXml(string jsonString)
  33.     {
  34.         using (var stream = new MemoryStream(Encoding.ASCII.GetBytes(jsonString)))
  35.         {
  36.             var quotas = new XmlDictionaryReaderQuotas();
  37.             return XDocument.Load(JsonReaderWriterFactory.CreateJsonReader(stream, quotas));
  38.         }
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement