Compartir vía


XmlAttribute.Prefix Propiedad

Definición

Obtiene o establece el prefijo de espacio de nombres de este nodo.

public:
 virtual property System::String ^ Prefix { System::String ^ get(); void set(System::String ^ value); };
public override string Prefix { get; set; }
member this.Prefix : string with get, set
Public Overrides Property Prefix As String

Valor de propiedad

String

Prefijo de espacio de nombres de este nodo. Si no hay prefijo, esta propiedad devuelve String.Empty.

Excepciones

Este nodo es de sólo lectura.

El prefijo especificado contiene un carácter no válido.

El prefijo especificado tiene un formato incorrecto.

El URI del espacio de nombres de este nodo es null.

El prefijo especificado es "xml" y el URI del espacio de nombres de este nodo es diferente de "http://www.w3.org/XML/1998/namespace".

Este nodo es un atributo, el prefijo especificado es "xmlns" y su identificador URI de espacio de nombres no es "http://www.w3.org/2000/xmlns/".

Este nodo es un atributo y su nombre completo es "xmlns" [espacios de nombres].

Ejemplos

En el ejemplo siguiente se muestra información sobre cada uno de los nodos de la colección de atributos.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<book xmlns:bk='urn:samples' bk:genre='novel'><title>Pride And Prejudice</title></book>" );
   
   //Create an attribute collection.
   XmlAttributeCollection^ attrColl = doc->DocumentElement->Attributes;
   Console::WriteLine( "Display information on each of the attributes... \r\n" );
   System::Collections::IEnumerator^ myEnum = attrColl->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      XmlAttribute^ attr = safe_cast<XmlAttribute^>(myEnum->Current);
      Console::Write( "{0}:{1} = {2}", attr->Prefix, attr->LocalName, attr->Value );
      Console::WriteLine( "\t namespaceURI={0}", attr->NamespaceURI );
   }
}
using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main(){

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book xmlns:bk='urn:samples' bk:genre='novel'>" +
                "<title>Pride And Prejudice</title>" +
                "</book>");

    //Create an attribute collection.
    XmlAttributeCollection attrColl = doc.DocumentElement.Attributes;

    Console.WriteLine("Display information on each of the attributes... \r\n");
    foreach (XmlAttribute attr in attrColl){
       Console.Write("{0}:{1} = {2}", attr.Prefix, attr.LocalName, attr.Value);
       Console.WriteLine("\t namespaceURI=" + attr.NamespaceURI);
    }
  }
}
Imports System.IO
Imports System.Xml

public class Sample

  public shared sub Main()

    Dim doc as XmlDocument = new XmlDocument()
    doc.LoadXml("<book xmlns:bk='urn:samples' bk:genre='novel'>" & _
                "<title>Pride And Prejudice</title>" & _
                "</book>") 

    'Create an attribute collection.
    Dim attrColl as XmlAttributeCollection = doc.DocumentElement.Attributes

    Console.WriteLine("Display information on each of the attributes... ")
    Dim attr as XmlAttribute
    for each attr in attrColl
       Console.Write("{0}:{1} = {2}", attr.Prefix, attr.LocalName, attr.Value)
       Console.WriteLine("   namespaceURI=" + attr.NamespaceURI)
    next

  end sub
end class

Comentarios

Dado que cambiar el prefijo de un atributo no cambia su URI de espacio de nombres, cambiar el prefijo de un atributo que se sabe que tiene un valor predeterminado no crea un nuevo atributo con el valor predeterminado y el prefijo original.

Se aplica a