Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

XPathNavigator.CreateAttribute (Método)

Crea un nodo de atributo en el nodo del elemento actual utilizando el prefijo de espacio de nombres, el nombre local y el URI de espacio de nombres especificado con el valor especificado.

Espacio de nombres:  System.Xml.XPath
Ensamblado:  System.Xml (en System.Xml.dll)

public virtual void CreateAttribute(
	string prefix,
	string localName,
	string namespaceURI,
	string value
)

Parámetros

prefix
Tipo: System.String
Prefijo del espacio de nombres del nuevo nodo de atributo (si lo hay).
localName
Tipo: System.String
Nombre local del nuevo nodo de atributo que no puede ser String.Empty ni null.
namespaceURI
Tipo: System.String
URI de espacio de nombres del nuevo nodo de atributo (si lo hay).
value
Tipo: System.String
Valor del nuevo nodo de atributo. Si se pasan String.Empty o null, se crea un nodo de atributo vacío.

ExcepciónCondición
InvalidOperationException

El XPathNavigator no está situado en ningún nodo de elemento.

NotSupportedException

El XPathNavigator no admite la edición.

Los valores de URI y el prefijo de espacio de nombres se pueden obtener utilizando los métodos LookupPrefix o LookupNamespace. Por ejemplo, la sintaxis siguiente crea un atributo utilizando el espacio de nombres xmlns:bk="http://www.contoso.com/books" en el ámbito:

editor.CreateAttribute(navigator.Prefix, "attributeName", LookupNamespace(navigator.Prefix), "text")

Esto crea el nuevo atributo <bk:element attributeName="text"/> en el elemento actual.

A la hora de utilizar el método CreateAttribute, debe tener en cuenta las siguientes consideraciones:

  • Si el prefijo del espacio de nombres especificado es String.Empty o null, el prefijo del URI de espacio de nombres del nuevo atributo se obtiene a partir de los espacios de nombres actuales en el ámbito. Si no hay ningún prefijo de espacio de nombres asignado al URI de espacio de nombres especificado en el ámbito actual, se genera automáticamente un prefijo del espacio de nombres. Por ejemplo, para crear un nuevo atributo en un elemento del espacio de nombres predeterminado del archivo contosoBooks.xml, (xmlns="http://www.contoso.com/books"), se especifica null o String.Empty para los parámetros del prefijo y del URI de espacio de nombres. Si se especifica http://www.contoso.com/books como parámetro URI de espacio de nombres, el método CreateAttribute genera automáticamente un prefijo del espacio de nombres para el nuevo atributo.

  • Si el nuevo atributo creado es un nodo de espacio de nombres que entra en conflicto con una declaración de espacio de nombres en el elemento, porque otra declaración de espacio de nombres utiliza el prefijo de espacio de nombres elegido en el mismo ámbito o porque el prefijo elegido es igual que el del elemento pero está enlazado a otro URI de espacio de nombres, se producirá una excepción.

  • El método CreateAttribute no afecta a la posición de XPathNavigator.

En el ejemplo siguiente, se creará un nuevo atributo discount en el elemento secundario price del primer elemento book del archivo contosoBooks.xml.


XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");

navigator.CreateAttribute("", "discount", "", "1.00");

navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);


En el ejemplo, se toma el archivo contosoBooks.xml como entrada.


<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft