특성은 노드가 아니므로 새 특성을 만드는 것은 다른 노드 형식을 만드는 것과 다릅니다. 요소 노드의 속성이며 요소와 연결된 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 메서드를 사용하여 책 요소의 특성 컬렉션에 특성이 추가됩니다.
다음 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의 노드 컬렉션을 참조하세요.
기본 특성
기본 특성으로 선언된 요소를 만들면 기본값이 있는 새 기본 특성이 DOM(XML 문서 개체 모델)에 의해 만들어지고 요소에 연결됩니다. 이때 기본 특성의 자식 노드도 만들어집니다.
특성 자식 노드
특성 노드의 값은 그 자식 노드들로 구성됩니다. 유효한 자식 노드에는 XmlText 노드와 XmlEntityReference 노드의 두 가지 유형만 있습니다. FirstChild 및 LastChild와 같은 메서드가 자식 노드로 처리한다는 점에서 자식 노드입니다. 속성에 자식 노드가 있는지의 구분은 속성이나 속성의 자식 노드를 제거하려 할 때 중요합니다. 자세한 내용은 DOM의 요소 노드에서 특성 제거를 참조하세요.
참고하십시오
.NET