Vytvoření nových atributů pro elementy v dom
Vytváření nových atributů se liší od vytváření jiných typů uzlů, protože atributy nejsou uzly. Jedná se o vlastnosti uzlu elementu a jsou obsaženy v XmlAttributeCollection přidružené k elementu. Existuje několik způsobů, jak vytvořit atribut a připojit ho k elementu:
Získejte uzel elementu a pomocí SetAttribute přidejte atribut do kolekce atributů tohoto elementu.
Pomocí metody CreateAttribute vytvořte uzel XmlAttribute, získejte uzel elementu a pak pomocí SetAttributeNode přidejte uzel do kolekce atributů tohoto elementu.
Následující příklad ukazuje, jak přidat atribut do elementu pomocí SetAttribute metoda:
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim doc As New XmlDocument()
doc.LoadXml("<book xmlns:bk='urn:samples' bk:ISBN='1-861001-57-5'>" & _
"<title>Pride And Prejudice</title>" & _
"</book>")
Dim root As XmlElement = doc.DocumentElement
' Add a new attribute.
root.SetAttribute("genre", "urn:samples", "novel")
Console.WriteLine("Display the modified XML...")
Console.WriteLine(doc.InnerXml)
End Sub
End Class
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
var doc = new XmlDocument();
doc.LoadXml("<book xmlns:bk='urn:samples' bk:ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"</book>");
XmlElement root = doc.DocumentElement;
// Add a new attribute.
root.SetAttribute("genre", "urn:samples", "novel");
Console.WriteLine("Display the modified XML...");
Console.WriteLine(doc.InnerXml);
}
}
Následující příklad ukazuje, jak vytvořit nový atribut pomocí CreateAttribute metoda. Atribut se pak přidá do kolekce atributů elementu book pomocí SetAttributeNode metoda.
Při použití následujícího kódu XML:
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
Vytvořte nový atribut a dejte mu hodnotu:
Dim attr As XmlAttribute = doc.CreateAttribute("publisher")
attr.Value = "WorldWide Publishing"
XmlAttribute attr = doc.CreateAttribute("publisher");
attr.Value = "WorldWide Publishing";
Připojte atribut k elementu:
doc.DocumentElement.SetAttributeNode(attr)
doc.DocumentElement.SetAttributeNode(attr);
Výstup
<book genre="novel" ISBN="1-861001-57-5" publisher="WorldWide Publishing">
<title>Pride And Prejudice</title>
</book>
Kompletní vzorový kód najdete na adrese CreateAttribute.
Pokud jste vytvořili XmlNamedNodeMap atributů, můžete přidat atribut podle názvu pomocí SetNamedItem metody. Další informace naleznete v tématu Kolekce uzlů v Pojmenovaný uzel Mapy a NodeLists.
Výchozí atributy
Pokud vytvoříte prvek, který je deklarován jako výchozí atribut, pak nový výchozí atribut s jeho výchozí hodnotou je vytvořen XML Document Object Model (DOM) a připojen k elementu. V tuto chvíli se také vytvoří podřízené uzly výchozího atributu.
Podřízené uzly atributu
Hodnota uzlu atributu se stane jeho podřízenými uzly. Existují pouze dva typy platných podřízených uzlů: uzly XmlText a uzly XmlEntityReference . Jedná se o podřízené uzly v tom smyslu, že metody, jako jsou FirstChild a LastChild , je zpracovávají jako podřízené uzly. Tento rozdíl atributu s podřízenými uzly je důležitý při pokusu o odebrání atributů nebo podřízených uzlů atributů. Další informace naleznete v tématu Odebrání atributů z uzlu elementu v modelu DOM.