Fungsi WsReadToStartElement (webservices.h)

Memajukan pembaca ke elemen mulai berikutnya melewati spasi kosong dan komentar jika perlu. Secara opsional, ini juga dapat memverifikasi localName dan namespace elemen.

Sintaks

HRESULT WsReadToStartElement(
  [in]           WS_XML_READER       *reader,
  [in, optional] const WS_XML_STRING *localName,
  [in, optional] const WS_XML_STRING *ns,
                 BOOL                *found,
  [in, optional] WS_ERROR            *error
);

Parameter

[in] reader

Pembaca yang akan membaca ke elemen mulai.

[in, optional] localName

Nama localName yang seharusnya menjadi elemen tersebut. Jika NULL, localName apa pun diizinkan.

[in, optional] ns

Namespace layanan yang seharusnya menjadi elemen . Jika NULL, namespace apa pun diizinkan.

found

Jika ditentukan, ini akan menunjukkan apakah elemen ditemukan dan localName dan namespace, jika juga ditentukan, cocok. Jika tidak ditentukan, dan elemen tidak ditemukan atau localName dan namespace tidak cocok, maka elemen akan mengembalikan WS_E_INVALID_FORMAT. (Lihat Nilai Pengembalian Windows Web Services.)

[in, optional] error

Menentukan tempat informasi kesalahan tambahan harus disimpan jika fungsi gagal.

Mengembalikan nilai

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
WS_E_INVALID_FORMAT
Data input tidak dalam format yang diharapkan atau tidak memiliki nilai yang diharapkan.
WS_E_QUOTA_EXCEEDED
Kuota terlampaui.

Keterangan

Pertimbangkan XML berikut:

<!-- A purchase order -->
        <PurchaseOrder xmlns='http://tempuri.org'>
            <Item>
                Pencil
            </Item>
        </PurchaseOrder>

Contoh berikut mengilustrasikan perilaku WsReadToStartElement saat pembaca diposisikan di berbagai tempat dalam dokumen.

WS_XML_STRING purchaseOrder = WS_XML_STRING_VALUE("PurchaseOrder");
WS_XML_STRING item = WS_XML_STRING_VALUE("Item");
WS_XML_STRING ns = WS_XML_STRING("http://tempuri.org");
WS_ERROR* error = NULL;

// Example 1: Reader on comment, element has specified name and namespace, found argument is not provided
HRESULT hr = WsReadToStartElement(reader, &purchaseOrder, &ns, NULL, error);
// hr = NOERROR, the reader is positioned on <PurchaseOrder>

// Example 2: Reader on comment, element has specified name and namespace, found argument is provided
BOOL found;
HRESULT hr = WsReadToStartElement(reader, &purchaseOrder, &ns, found, error);
// hr = NOERROR, found = TRUE, the reader is positioned on <PurchaseOrder>

// Example 3: Reader on comment, element does not have specified name and namespace, found argument is not provided
HRESULT hr = WsReadToStartElement(reader, &item, &ns, NULL, error);
// hr = WS_E_INVALID_FORMAT, the reader is faulted

// Example 4: Reader on comment, element does not have specified name and namespace, found argument is provided
BOOL found;
HRESULT hr = WsReadToStartElement(reader, &item, &ns, &found, error);
// hr = NOERROR, found = FALSE, the reader is positioned on <PurchaseOrder>

// Example 5: Reader on comment, name and namespace not specified, found argument is provided
BOOL found;
HRESULT hr = WsReadToStartElement(reader, NULL, NULL, &found, error);
// hr = NOERROR, found = TRUE, the reader is positioned on <PurchaseOrder>

// Example 6: Reader on </Item>, name and namespace not specified, found argument is not provided
HRESULT hr = WsReadToStartElement(reader, NULL, NULL, NULL, error);
// hr = WS_E_INVALID_FORMAT, the reader is faulted

// Example 7: Reader on </Item>, name and namespace not specified, found argument is provided
BOOL found;
HRESULT hr = WsReadToStartElement(reader, NULL, NULL, &found, error);
// hr = NOERROR, found = FALSE, the reader is positioned on </Item>

Jika WsReadToStartElement menunjukkan elemen telah ditemukan, maka WsReadStartElement atau WsReadNode dapat digunakan untuk memindahkan pembaca melewati elemen mulai ke dalam konten elemen.

WsSkipNode dapat digunakan untuk melewati elemen dan semua turunannya meninggalkan pembaca diposisikan pada WS_XML_NODE mengikuti elemen akhir yang sesuai.

Fungsi ini dapat gagal karena salah satu alasan yang tercantum dalam WsReadNode.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header webservices.h
Pustaka WebServices.lib
DLL WebServices.dll