Esporta (0) Stampa
Espandi tutto

Metodo XPathNavigator.CreateAttributes

Nota: questo metodo è stato introdotto con .NET Framework versione 2.0.

Restituisce un oggetto XmlWriter utilizzato per creare nuovi attributi nell'elemento corrente.

Spazio dei nomi: System.Xml.XPath
Assembly: System.Xml (in system.xml.dll)

public virtual XmlWriter CreateAttributes ()
public XmlWriter CreateAttributes ()
public function CreateAttributes () : XmlWriter

Valore restituito

Oggetto XmlWriter utilizzato per creare nuovi attributi nell'elemento corrente.

Tipo di eccezioneCondizione

InvalidOperationException

L'oggetto XPathNavigator non è posizionato in corrispondenza di un nodo elemento.

NotSupportedException

L'oggetto XPathNavigator non può essere modificato.

Di seguito sono riportate note importanti relative all'utilizzo del metodo CreateAttributes.

  • Quando la classe XPathNavigator è posizionata in corrispondenza di un elemento, i nuovi attributi creati dal metodo XPathNavigator vengono posizionati alla fine dell'elenco di attributi dell'elemento corrente.

  • I nuovi attributi non vengono inseriti fino a quando non viene chiamato il metodo Close dell'oggetto XmlWriter.

  • Se il prefisso dello spazio dei nomi specificato è String.Empty o riferimento null (Nothing in Visual Basic), il prefisso per l'URI dello spazio dei nomi del nuovo attributo si ottiene dagli spazi dei nomi correnti nell'ambito. Se non è assegnato alcun prefisso dello spazio dei nomi all'URI dello spazio dei nomi specificato nell'ambito corrente, viene automaticamente generato un prefisso dello spazio dei nomi. Per creare, ad esempio, un nuovo attributo in un elemento nello spazio dei nomi predefinito del file contosoBooks.xml (xmlns="http://www.contoso.com/books"), specificare riferimento null (Nothing in Visual Basic) o String.Empty per entrambi i parametri del prefisso dello spazio dei nomi e dell'URI dello spazio dei nomi. Se si specifica http://www.contoso.com/books come parametro dell'URI dello spazio dei nomi, il metodo CreateAttribute genererà automaticamente un prefisso dello spazio dei nomi per il nuovo attributo.

  • Se il nuovo attributo creato è un nodo spazio dei nomi in conflitto con la dichiarazione di uno spazio dei nomi nell'elemento (perché il prefisso dello spazio dei nomi scelto è già utilizzato dalla dichiarazione di un altro spazio dei nomi nello stesso ambito o perché il prefisso scelto è lo stesso dell'elemento ma è associato a un URI dello spazio dei nomi diverso), viene generata un'eccezione.

  • L'oggetto XmlWriter restituito può essere utilizzato solo per la creazione di attributi. La chiamata ad altri metodo dell'oggetto XmlWriter che non creano attributi, genera un'eccezione.

  • Il metodo CreateAttributes non influisce sulla posizione della classe XPathNavigator.

Nell'esempio riportato di seguito i nuovi attributi discount e currency vengono creati nell'elemento price figlio del primo elemento book nel file contosoBooks.xml utilizzando l'oggetto XmlWriter restituito dal metodo CreateAttributes.

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");

XmlWriter attributes = navigator.CreateAttributes();

attributes.WriteAttributeString("discount", "1.00");
attributes.WriteAttributeString("currency", "USD");
attributes.Close();

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

Nell'esempio il file contosoBooks.xml viene utilizzato come input.

<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>

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft