WsWriteStartElement 函数 (webservices.h)

将 start 元素写入编写器。

调用此函数后,可以调用 WsWriteStartAttributeWsWriteXmlnsAttribute 以向 元素写入其他属性。 在 调用 WsWriteEndElement 或其他写入内容的某个函数之前,元素不会提交到编写器。

语法

HRESULT WsWriteStartElement(
  [in]           WS_XML_WRITER       *writer,
  [in, optional] const WS_XML_STRING *prefix,
  [in]           const WS_XML_STRING *localName,
  [in]           const WS_XML_STRING *ns,
  [in, optional] WS_ERROR            *error
);

参数

[in] writer

指向开始元素写入到 的 WS_XML_WRITER 对象的指针。 指针必须引用有效的 XML 编写器 对象。

[in, optional] prefix

指向要用于 start 元素的前缀的WS_XML_STRING指针。 如果此参数引用的值为 NULL ,则编写器将选择一个属性。

[in] localName

指向 start 元素使用的本地名称的WS_XML_STRING指针。 长度必须至少为一个字符。

[in] ns

指向要用于 start 元素的命名空间的WS_XML_STRING指针。

如果未指定前缀,编写器可能会在范围中使用绑定到指定命名空间的前缀,或者可能会生成前缀并包含 XMLNS 属性。 如果指定了前缀,编写器将使用该前缀,并可以包含 XMLNS 属性(如果需要)来替代范围内的现有前缀。

[in, optional] error

指向 WS_ERROR 对象的指针,如果函数失败,应存储有关错误的其他信息。

返回值

此函数可以返回其中一个值。

返回代码 说明
E_INVALIDARG
一个或多个参数无效。
WS_E_INVALID_OPERATION
由于 对象的当前状态,不允许此操作。
WS_E_INVALID_FORMAT
输入数据的格式不是预期的,或者没有预期的值。
WS_E_QUOTA_EXCEEDED
超出配额。

注解

如果基础编码支持空元素,并且元素没有内容,则会写入空元素。

如果使用空命名空间指定了非空前缀 ,则返回WS_E_INVALID_FORMAT

如果写入 start 元素会导致超出 WS_XML_WRITER_PROPERTY_MAX_DEPTHWS_E_QUOTA_EXCEEDED 返回。 (请参阅 Windows Web Services 返回值。)

使用 WS_XML_WRITER_MTOM_ENCODING 尝试编写具有命名空间http://www.w3.org/2004/08/xop/include"中 localName“Include”的元素是错误的。

当编写器位于使用 WsMoveWriter 或 WsSetWriterPosition 的元素上时,也可以使用 WsWriteStartAttribute 向元素添加属性。

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 webservices.h
Library WebServices.lib
DLL WebServices.dll