¿Cómo modificar atributo de documento XML c#?

publicado por: Anonymous

Necesitó modificar atributos de un documento XML guardado en una ubicación en mi PC

Ejemplo cambiar el valor del elemento id

-<ds:Signature Id="Signature-15d7c3e9-a6b4-48be-a9a5-70cbef9dd03d" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

¿Cómo puedo hacerlo?

Escribí esto pero no me está funcionando:

 private string SetAtributo(XmlDocument xmlDoc,string prefix,string uri,string pathSintax,string atributo,string nuevoValor)
    {
        string result = "";
        try
        {
            xmlDoc.PreserveWhitespace = true;
            xmlDoc.Load(path);
            XmlNamespaceManager nsManager = new XmlNamespaceManager(xmlDoc.NameTable);
            nsManager.AddNamespace(prefix,uri);
            XmlNode nodo = xmlDoc.SelectSingleNode(pathSintax, nsManager);
            if (nodo != null)
            {
               //CODIGO QUE NECESITO
            }
         xmlDoc.Save(path);
        }
        catch (Exception ex) { result = ex.ToString(); }
        return result;
    }

solución

Asignando directamente a la propiedad Attributes:

nodo.Attributes["Id"].Value = "Nuevo Valor";
  • Distingue entre mayúsculas y minúsculas "id" no es lo mismo que "Id".
  • Si el atributo no existe, esto te daría un error de NullReferenceException.
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *