Classe CXMLAccessor
Permite acessar fontes de dados sistema autônomo dados de seqüência de caracteres quando você não ter nenhum conhecimento sobre esquema do armazenamento de dados (estrutura subjacente).
class CXMLAccessor : public CDynamicStringAccessorW
Comentários
No entanto, CXMLAccessor é diferente de CDynamicStringAccessorW em que ela converte todos sistema autônomo dados acessados do armazenamento de dados sistema autônomo dados (marcados) formatada em XML. Isso é especialmente útil para saída para páginas da Web com reconhecimento de XML.sistema autônomo nomes de marca XML irão corresponder nomes de coluna do armazenamento de dados de sistema autônomo ao máximo.
Use CDynamicAccessor métodos para obter informações de coluna. Você usar essas informações de coluna para criar um acessador dinamicamente em time de execução.
As informações de coluna são armazenadas em um buffer criado e gerenciado por esta classe.Obter informações de coluna usando GetXMLColumnData ou obtenha dados da coluna por linhas usando GetXMLRowData.
Exemplo
void DoCXMLAccessorTest()
{
HRESULT hr = CoInitialize(NULL);
CDataSource ds;
CSession ss;
CTable<CXMLAccessor> rs;
// The following is an example initialization string:
hr = ds.OpenFromInitializationString(L"Provider=Microsoft.Jet.OLEDB.4.0;"
L"User ID=Admin;Data Source=Snippet.mdb;Mode=Share Deny None;"
L"Extended Properties=\"\";Jet OLEDB:System database=\"\";"
L"Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";"
L"Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;"
L"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;"
L"Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;"
L"Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;"
L"Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False");
hr = ss.Open(ds);
hr = rs.Open(ss, L"Customer"); // Customer is a table name in the database.
CStringW strColumnInfo;
rs.GetXMLColumnData(strColumnInfo);
wprintf_s(L"%s\n", strColumnInfo);
hr = rs.MoveFirst();
while(SUCCEEDED(hr) && hr != DB_S_ENDOFROWSET)
{
CStringW strRowData;
rs.GetXMLRowData(strRowData);
wprintf_s(L"%s\n", strRowData);
hr = rs.MoveNext();
}
ss.Close();
ds.Close();
CoUninitialize();
}
Requisitos
Cabeçalho: atldbcli.h
Consulte também
Conceitos
Modelos de consumidor de OOLE DB (C++)
Referência de modelos OLE DB consumidor
Referência
Classe CDynamicParameterAccessor
Classe CDynamicStringAccessorA
Classe CDynamicStringAccessorW