共用方式為


移除 DOM 中項目節點的屬性

有許多方法可用來移除屬性。 其中一種技術是從屬性集合中移除它們。 若要如此做,請執行下列步驟:

  1. 使用 XmlAttributeCollection attrs = elem.Attributes;,從項目取得屬性集合。

  2. 使用下列三種方法之一,從屬性集合移除屬性:

    • 使用 Remove 移除特定屬性。

    • 使用 RemoveAll 從集合中移除所有的屬性,並保留不具屬性的項目。

    • 使用 RemoveAt,並透過屬性的索引編號,從屬性集合中移除屬性。

下列方法可從項目節點移除屬性。

還有另一種替代方案是取得項目,再從屬性集合取得屬性,然後直接移除該屬性節點。 若要從屬性集合取得屬性,可以使用名稱 XmlAttribute attr = attrs["attr_name"]; 及索引 XmlAttribute attr = attrs[0];,或是使用命名空間 XmlAttribute attr = attrs["attr_localName", "attr_namespace"] 來完整限定名稱。

無論使用何種方法移除屬性,對移除定義為文件類型定義 (DTD) 中預設屬性的屬性都有特殊限制。 除非移除預設屬性的所屬項目,否則無法移除預設屬性。 針對已宣告預設屬性的項目,其預設屬性會永遠存在。 從 XmlAttributeCollectionXmlElement 中移除預設屬性時,會將取代屬性插入至項目的 XmlAttributeCollection,並初始化為已宣告的預設值。 如果您的項目定義為 <book att1="1" att2="2" att3="3"></book>,則 book 項目會具有三個已宣告的預設屬性。 XML 文件物件模型 (DOM) 實作可保證只要此 book 項目存在,它就會具有三個預設屬性:att1att2att3

當使用 XmlAttribute 呼叫時,RemoveAll 方法會將屬性值設為 String.Empty,因為屬性一定要有值。

另請參閱