CachedDataItem.Xml A propriedade (sistema de 2007)
Obtém ou define a representação XML do objeto de dados em cache representadas pelo CachedDataItem.
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0 (em Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)
Sintaxe
Public Property Xml As String
Dim instance As CachedDataItem
Dim value As String
value = instance.Xml
instance.Xml = value
public string Xml { get; set; }
Valor de propriedade
Tipo: System.String
A representação XML do objeto de dados em cache representadas pelo CachedDataItem.
Comentários
Para obter o valor de um objeto de dados em cache, use o Xml propriedade desserializar a representação XML dos dados em cache em uma nova instância do objeto de dados em cache. Em seguida, fazer alterações dessa cópia e serializar as alterações de volta para o cache de dados.
Em maioria dos casos, você pode usar o SerializeDataInstance método para serializar o objeto alterado em cache de dados. Se você quiser executar seu próprios serialização para alterações de dados em cache, você também pode escrever diretamente para o Xml propriedade. No entanto, se você estiver fazendo alterações para um DataSet, DataTable, ou um dataset tipado que será atualizado para um banco de dados usando um DataAdapter, especifique o formato DiffGram ao gravar as alterações nos dados armazenados em cache. Caso contrário, sistema autônomo alterações para o DataSet ou DataTable será adicionado ao banco de dados sistema autônomo novas linhas em vez de linhas alteradas. Para obter mais informações, consulte Acessando dados em documentos no servidor.
Exemplos
O exemplo de código a seguir usa o Xml propriedade para obter o valor de uma seqüência de caracteres que é armazenado em cache em uma planilha de uma pasta de trabalho do Excel. O exemplo exibe o valor em uma caixa de mensagem.
Este exemplo requer uma referência aos assemblies Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll e Microsoft.VisualStudio.Tools.Applications.tempo de execução.v9.0.dll e Imports (para Visual Basic) ou using (para translation from VPE for Csharp) instruções para Microsoft.VisualStudio.Tools.Applications e Microsoft.VisualStudio.Tools.Applications.Runtime espaços para nome na parte superior do seu arquivo de código. Este exemplo também assume que a pasta de trabalho especificada tem uma personalização com um Sheet1 classe na ExcelWorkbook1 namespace e uma seqüência de caracteres em cache na Sheet1 classe chamada CachedString.
PrivateSub ReadCachedStringValue(ByVal documentPath AsString)
Dim runtimeVersion AsInteger = 0
Dim serverDocument1 As ServerDocument = NothingTry
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
If runtimeVersion <> 3 Then
MessageBox.Show("This document does not have a Visual Studio Tools for Office " & _
"customization, or it has a customization that was created with a version of " & _
"the runtime that is incompatible with this version of the ServerDocument class.")
ReturnEndIfIf ServerDocument.IsCacheEnabled(documentPath) Then
serverDocument1 = New ServerDocument(documentPath)
Dim hostItem1 As CachedDataHostItem = _
serverDocument1.CachedData.HostItems("ExcelWorkbook1.Sheet1")
Dim dataItem1 As CachedDataItem = hostItem1.CachedData("CachedString")
If dataItem1 IsNotNothingAndAlso _
Type.GetType(dataItem1.DataType).Equals(GetType(String)) ThenUsing stringReader AsNew System.IO.StringReader(dataItem1.Xml)
Dim serializer AsNew System.Xml.Serialization.XmlSerializer(GetType(String))
Dim cachedString AsString = serializer.Deserialize(stringReader)
MessageBox.Show("The value of CachedString is: " + cachedString)
EndUsingEndIfElse
MessageBox.Show("The specified document does not have cached data.")
EndIfCatch ex As System.IO.FileNotFoundException
System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
Catch ex As UnknownCustomizationFileException
System.Windows.Forms.MessageBox.Show("The specified document has a file " & _
"extension that is not supported by Visual Studio Tools for Office.")
FinallyIfNot (serverDocument1 IsNothing) Then
serverDocument1.Close()
EndIfEndTryEndSub
privatevoid ReadCachedStringValue(string documentPath)
{
int runtimeVersion = 0;
ServerDocument serverDocument1 = null;
try
{
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
if (runtimeVersion != 3)
{
MessageBox.Show("This document does not have a Visual Studio Tools for " +
"Office customization, or it has a customization that was created with " +
"a version of the runtime that is incompatible with this version of the " +
"ServerDocument class.");
return;
}
if (ServerDocument.IsCacheEnabled(documentPath))
{
serverDocument1 = new ServerDocument(documentPath);
CachedDataHostItem hostItem1 =
serverDocument1.CachedData.HostItems["ExcelWorkbook1.Sheet1"];
CachedDataItem dataItem1 = hostItem1.CachedData["CachedString"];
if (dataItem1 != null &&
Type.GetType(dataItem1.DataType) == typeof(string))
{
using (System.IO.StringReader stringReader =
new System.IO.StringReader(dataItem1.Xml))
{
System.Xml.Serialization.XmlSerializer serializer =
new System.Xml.Serialization.XmlSerializer(typeof(string));
string cachedString = serializer.Deserialize(stringReader) asstring;
MessageBox.Show("The value of CachedString is: " + cachedString);
}
}
}
else
{
MessageBox.Show("The specified document does not have cached data.");
}
}
catch (System.IO.FileNotFoundException)
{
System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
}
catch (UnknownCustomizationFileException)
{
System.Windows.Forms.MessageBox.Show("The specified document has a file " +
"extension that is not supported by Visual Studio Tools for Office.");
}
finally
{
if (serverDocument1 != null)
serverDocument1.Close();
}
}
Para obter um exemplo de código que demonstra como usar o Xml propriedade modificar e serializar as alterações em um cache DataSet, consulte Como: Alterar de dados em uma pasta de trabalho em um servidor em cache.
Permissões
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de códigos parcialmente Confiável.