编写属性

更新:November 2007

WriteAttributeStringWriteStartAttributeWriteAttributes 方法专门为创建属性而设计。 使用这些方法可以为元素或 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" />

请参见

其他资源

用 XmlWriter 编写 XML