建立新屬性與建立其他節點類型不同,因為屬性不是節點。 它們是專案節點的屬性,且包含在與 項目相關聯的 XmlAttributeCollection 中。 有多種方式可以建立屬性,並將它附加至元素:
取得元素節點,並使用 SetAttribute 將屬性新增至該專案的屬性集合。
使用 CreateAttribute 方法建立 XmlAttribute 節點、取得元素節點,然後使用 SetAttributeNode 將節點新增至該專案的屬性集合。
下列範例示範如何使用 SetAttribute 方法,將屬性加入專案:
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);
}
}
下列範例示範如何使用 CreateAttribute 方法建立新的屬性。 屬性接著會使用 SetAttributeNode 方法加入 book 元素的屬性集合中。
假設有下列 XML:
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
建立新的屬性,併為其提供值:
Dim attr As XmlAttribute = doc.CreateAttribute("publisher")
attr.Value = "WorldWide Publishing"
XmlAttribute attr = doc.CreateAttribute("publisher");
attr.Value = "WorldWide Publishing";
將屬性附加至元素。
doc.DocumentElement.SetAttributeNode(attr)
doc.DocumentElement.SetAttributeNode(attr);
輸出
<book genre="novel" ISBN="1-861001-57-5" publisher="WorldWide Publishing">
<title>Pride And Prejudice</title>
</book>
您可以在 找到 CreateAttribute完整的程式代碼範例。
如果您已建立 XmlNamedNodeMap 屬性,您可以使用 SetNamedItem 方法依名稱新增屬性。 如需詳細資訊,請參閱 NamedNodeMaps 和 NodeLists 中的節點集合。
默認屬性
如果您建立宣告為具有預設屬性的專案,則 XML 檔物件模型 (DOM) 會建立具有其預設值的新預設屬性,並附加至專案。 此時也會建立預設屬性的子節點。
屬性子節點
屬性節點的值會變成其子節點。 只有兩種類型的有效子節點: XmlText 節點和 XmlEntityReference 節點。 這些是子節點,也就是說 ,FirstChild 和 LastChild 等方法會將它們當作子節點來處理。 具有子節點的屬性的區別在嘗試移除屬性或屬性子節點時很重要。 如需詳細資訊,請參閱 從 DOM 中的元素節點移除屬性。