Share via


WsWriteStartAttribute 函式 (webservices.h)

此作業會開始將屬性寫入目前專案。 必須先呼叫 WsWriteStartElement,才能寫入屬性。 啟動屬性之後,可以使用 WsWriteCharsWsWriteBytesWsWriteValue 來撰寫屬性值。 屬性必須使用 WsWriteEndAttribute 來完成。

語法

HRESULT WsWriteStartAttribute(
  [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]           BOOL                singleQuote,
  [in, optional] WS_ERROR            *error
);

參數

[in] writer

寫入屬性之 WS_XML_WRITER 物件的指標。 指標必須參考有效的 XML 寫入器 物件。

[in, optional] prefix

要用於屬性之前置詞的WS_XML_STRING指標。 如果此參數所參考的值是 NULL ,則寫入器會選擇屬性。

[in] localName

屬性所使用之本機名稱的WS_XML_STRING指標。 長度至少必須有一個字元。

[in] ns

要用於屬性之命名空間的WS_XML_STRING指標。

如果未指定前置詞,則寫入器可能會在系結至指定命名空間的範圍中使用前置詞,或可能會產生前置詞並包含 XMLNS 屬性。

如果指定前置詞,寫入器將會使用該前置詞,並視需要包含 XMLNS 屬性來覆寫範圍內現有的前置詞。

[in] singleQuote

判斷是否要使用屬性值的單引號或雙引號。

注意 使用 WS_XML_WRITER_BINARY_ENCODING 不會保留引號字元,而且此參數沒有作用。
 

[in, optional] error

WS_ERROR 物件的指標,如果函式失敗,應該儲存錯誤的其他資訊。

傳回值

此函式可以傳回其中一個值。

傳回碼 Description
E_INVALIDARG
一或多個引數無效。
WS_E_INVALID_OPERATION
由於物件的目前狀態,不允許此作業。
WS_E_INVALID_FORMAT
輸入數據的格式不正確,或沒有預期的值。
WS_E_QUOTA_EXCEEDED
超過配額。

備註

如果指定 NULL 前置詞,則寫入器會選擇命名空間的前置詞。

若要撰寫 「xml:lang」 或 「xml:space」 屬性,請為 localName 指定 「lang」 或 「space」 前置詞的 「xml」 和 “http://www.w3.org/XML/1998/namespace"為命名空間。

如果寫入屬性會導致超過 WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES ,則會傳回 WS_E_QUOTA_EXCEEDED

如果以空命名空間指定非空白前置詞 ,則會 傳回WS_E_INVALID_FORMAT。 (請參閱 Windows Web 服務傳回值。)

規格需求

需求
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll