DOM의 요소 노드에서 특성 제거
여러 가지 방법으로 특성을 제거할 수 있습니다. 그 중 한 가지 방법은 특성 컬렉션에서 특성을 제거하는 것입니다. 이 방법을 사용하려면 다음 단계를 수행합니다.
XmlAttributeCollection attrs = elem.Attributes;
를 사용하여 요소에서 특성 컬렉션을 가져옵니다.다음 세 가지 메서드 중 하나를 사용하여 특성 컬렉션에서 특성을 제거합니다.
다음 메서드는 요소 노드에서 특성을 제거합니다.
특성 컬렉션을 제거하려면 RemoveAllAttributes를 사용합니다.
컬렉션에서 이름으로 특성 하나를 제거하려면 RemoveAttribute를 사용합니다.
컬렉션에서 인덱스 번호로 특성 하나를 제거하려면 RemoveAttributeAt을 사용합니다.
또 다른 방법은 요소를 가져오고 특성 컬렉션에서 특성을 가져온 다음 특성 노드를 직접 제거하는 것입니다. 특성 컬렉션에서 특성을 가져오려면 이름, XmlAttribute attr = attrs["attr_name"];
, 인덱스 XmlAttribute attr = attrs[0];
를 사용하거나 네임스페이스 XmlAttribute attr = attrs["attr_localName", "attr_namespace"]
로 이름을 정규화합니다.
특성을 제거하는 데 사용한 메서드와 상관없이 DTD(문서 종류 정의)에 기본 특성으로 정의된 특성을 제거할 때는 특별한 제한 사항이 있습니다. 기본 특성이 속해 있는 요소를 제거해야 기본 특성을 제거할 수 있습니다. 기본 특성은 기본 특성을 선언한 요소에 대해 항상 존재합니다. XmlAttributeCollection 또는 XmlElement에서 기본 특성을 제거하면 대체 특성이 요소의 XmlAttributeCollection에 삽입되고 선언된 기본값으로 초기화됩니다. <book att1="1" att2="2" att3="3"></book>
으로 정의된 요소가 있을 경우 기본 특성 3개가 선언된 book
요소가 있습니다. XML DOM(문서 개체 모델)을 구현하면 이 book
요소가 있는 한, 기본 특성 att1
, att2
및 att3
이 있습니다.
XmlAttribute를 사용하여 RemoveAll 메서드를 호출하면 값이 없는 특성이 있을 수 없으므로 특성 값이 String.Empty로 설정됩니다.
참고 항목
.NET