En esta ocasión voy a mostrarles como agregar una addenda sencilla a nuestro archivo XML. Comencemos...
Tengo el siguiente archivo XML:
XML Con Addenda |
Lo quiero así:
XML Con Addenda |
Código C#
string xml = "ruta_archivo.xml";
XmlDocument doc = new XmlDocument();
doc.Load(xml);//Leer el XML
XmlElement addenda = doc.CreateElement("cfdi:Addenda", "http://www.sat.gob.mx/cfd/3");
XmlElement infoAdicional = doc.CreateElement("cfdi:InfoAdicional", "http://www.sat.gob.mx/cfd/3");
infoAdicional.SetAttribute("OrdenCompra", "1234");
addenda.AppendChild(infoAdicional);
doc.DocumentElement.AppendChild(addenda);
doc.Save(xml);//Guardar XML
Código VB
Dim xml As String = "ruta_archivo.xml"
Dim doc As New XmlDocument()
doc.Load(xml) ''Leer el XML
Dim addenda As XmlElement = doc.CreateElement("cfdi:Addenda", "http://www.sat.gob.mx/cfd/3")
Dim infoAdicional As XmlElement = doc.CreateElement("cfdi:InfoAdicional", "http://www.sat.gob.mx/cfd/3")
infoAdicional.SetAttribute("OrdenCompra", "1234")
addenda.AppendChild(infoAdicional)
doc.DocumentElement.AppendChild(addenda)
doc.Save(xml) ''Guardar XML
No olvides agregar la referencia a "System.Xml"
Hasta pronto!!
Me funciono casi todo excepto porque yo intento agrega una namespace y no me lo respeta, simplemente omite en la creacion del XML el valor de xsi: caso curioso porque el namespace de xmlns si lo coloca me imagino que es por ser el default
ResponderEliminarXmlElement propiedadesAddenda = doc.CreateElement("sp:SP", "http://www.sat.gob.mx/cfd/3");
propiedadesAddenda.SetAttribute("xmlns:sp", "http://solucion.com/cfd");
propiedadesAddenda.SetAttribute("xsi:schemaLocation", "http://solucion.com/cfd/ https://solucion.com/addenda/ar.xsd");
Este comentario ha sido eliminado por el autor.
EliminarIntenta de esa manera:
EliminarXmlAttribute schemaLocation = xmlDocument.CreateAttribute("xsi", "schemaLocation", "http://www.w3.org/2001/XMLSchema-instance");
schemaLocation.Value = "http://solucion.com/cfd/ https://solucion.com/addenda/ar.xsd";
propiedadesAddenda.SetAttributeNode(schemaLocation);
Hay algún cambio para la factura 4.0?
ResponderEliminar"http://www.sat.gob.mx/cfd/3"); esta parte cambia por "http://www.sat.gob.mx/cfd/4");
Eliminar81880506
ResponderEliminar