更新:November 2007
WriteAttributeString、WriteStartAttribute 和 WriteAttributes 方法专门为创建属性而设计。 使用这些方法可以为元素或 XML 声明节点编写属性。 编写属性的方法也可以用于为元素创建命名空间声明。 有关命名空间的更多信息,请参见在 XmlWriter 中处理命名空间。
WriteAttributeString
WriteAttributeString 方法是编写属性最简单的方式。 该方法用于编写整个属性节点,包括字符串值。 以下代码写出 supplierID='A23-1' XML 字符串。
writer.WriteAttributeString("supplierID", "A23-1")
writer.WriteAttributeString("supplierID", "A23-1");
WriteStartAttribute
WriteStartElement 方法是 WriteAttributeString 方法更高级的版本。 它使您可以使用多个方法调用编写属性值。 例如,可以使用 WriteValue 编写类型化值。
通过调用 WriteEndAttribute 方法来关闭该属性。
在以下代码中,hireDate 是保存员工聘用日期的 DateTime 对象。 该代码编写一个 review-date 属性,包含员工 6 个月评估日期的计算值。
writer.WriteStartAttribute("review-date")
writer.WriteValue(hireDate.AddMonths(6))
writer.WriteEndAttribute()
writer.WriteStartAttribute("review-date");
writer.WriteValue(hireDate.AddMonths(6));
writer.WriteEndAttribute();
WriteAttributes
使用 WriteAttributes 方法可以复制在提供的 XmlReader 对象的当前位置发现的所有属性。 WriteAttributes 行为取决于读取器当前所处的节点类型。
下表介绍对每种节点类型调用 WriteAttributes 的结果。 如果读取器所处的节点类型未在下表中列出,WriteAttributes 没有任何操作。
节点类型 |
WriteAttributes 行为 |
|---|---|
Attribute |
编写当前属性,然后编写其他属性,直到元素结束标记为止。 |
Element |
编写该元素包含的所有属性。 |
XML Declaration |
编写声明中的所有属性。 |
例如,在以下代码中,写入器将在读取器当前位置发现的所有属性复制到写入器。
writer.WriteStartElement("root")
writer.WriteAttributes(reader, True)
writer.WriteEndElement()
writer.WriteStartElement("root");
writer.WriteAttributes(reader, true);
writer.WriteEndElement();
如果读取器位于某个包含三个属性的元素上,则编写以下 XML 字符串。
<root genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0" />