fork download
  1. /*
  2. ¿Cómo agregar atributo a documento XML?
  3. https://es.stackoverflow.com/q/132219/127
  4. */
  5.  
  6. using System;
  7. using System.Xml;
  8.  
  9. public class Test
  10. {
  11. public static void Main()
  12. {
  13. //generar el doc
  14. string xmlOriginal = @"
  15. <padre>
  16. <hijo id=""576hsdj"">
  17. </hijo>
  18. </padre>";
  19. XmlDocument xmlDoc = new XmlDocument();
  20. xmlDoc.LoadXml(xmlOriginal); // <-- acá lo estoy cargando manualmente desde el string
  21. //xmlDoc.Load(path);
  22.  
  23. //seleccionar el nodo
  24. XmlNode nodoHijo = xmlDoc.SelectSingleNode("//*[@id='576hsdj']");
  25.  
  26. //agregarle el atributo
  27. XmlElement elemHijo = (XmlElement)nodoHijo;
  28. elemHijo.SetAttribute("type","modeloAAA");
  29.  
  30. //guardar
  31. //xmlDoc.Save(path);
  32. //o imprimir en consola
  33. XmlTextWriter writer = new XmlTextWriter(Console.Out);
  34. writer.Formatting = Formatting.Indented;
  35. xmlDoc.WriteTo( writer );
  36. writer.Flush();
  37. Console.WriteLine();
  38. }
  39. }
Success #stdin #stdout 0.04s 133696KB
stdin
Standard input is empty
stdout
<padre>
  <hijo id="576hsdj" type="modeloAAA">
  </hijo>
</padre>