مشاركة عبر


CachedDataItem.Xml الخاصية

الحصول أو تعيين تمثيل XML للكائن بيانات المخزنة مؤقتاً هو تمثيلها بواسطة CachedDataItem.

مساحة الاسم:  Microsoft.VisualStudio.Tools.Applications
التجميع:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (في Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

بناء الجملة

'إقرار
Public Property Xml As String
    Get
    Set
public string Xml { get; set; }

قيمة الخاصية

النوع: System.String
الكائن تمثيل XML من بيانات المخزنة مؤقتاً التي هو تمثيلها بواسطة CachedDataItem.

ملاحظات

إلى الحصول على الالقيمة لكائن بيانات المخزنة مؤقتاً، استخدم Xmlالخاصية إلى إلغاء تسلسل تمثيل XML بيانات المخزنة مؤقتاً في إلى مثيل جديد من كائن بيانات المخزنة مؤقتاً. يمكنك حينئذ إجراء التغييرات في هذا نسخ وتسلسل التغييرات مرة أخرى في في ذاكرة تخزين مؤقتة للبيانات.

في معظم الحالات، يمكنك استخدام SerializeDataInstanceأسلوب إلى إجراء تسلسل لكائن تم تغييره في إلى ذاكرة تخزين مؤقت للبيانات. إذا كنت تريد إجراء إنشاء تسلسل الخاص بك ل التغييرات للبيانات المخزنة مؤقتاً، يمكنك أيضا الكتابة مباشرة إلى Xmlخاصية. ومع ذلك، في حالة إجراء تغييرات على على DataSet، DataTable، أو مجموعة البيانات المصنفة سيتم محدث قاعدة بيانات باستخدام DataAdapter، قم بتحديد تنسيق DiffGram عند كتابة التغييرات إلى البيانات المخزنة مؤقتاً. وإلا، التغييرات التي تم إجراؤها DataSetأو DataTableإلى databكـe كـ الصفوف الجديدة بدلاً من صفوف معدلة. لمزيد من المعلومات، راجع الوصول إلى البيانات في المستندات على خادم.

أمثلة

مثال التعليمة البرمجية التالية يستخدم Xmlالخاصية على القيمة سلسلة هو مؤقتاً في ورقة عمل على مصنف Excel. يعرض المثال القيمة في صندوق رسالة.

يتطلب هذا المثال:

  • تخصيص المستوى المستندات ل Excel الذي يحتوي على Sheet1فئة في ExcelWorkbook1مساحة الاسم، وسلسلة المخزنة مؤقتاً في Sheet1فئة المسمى CachedString.

  • مشروع تطبيقات وحدة تحكم أو بعض المشاريع بخلاف المكتب الأخرى.

  • مراجع إلى تجميعات التالية:

    • Microsoft.VisualStudio.أدوات.Applications.ServerDocument.dll و Microsoft.VisualStudio.أدوات.Applications.وقت التشغيل.dll (إذا كان مشروع تستهدف .NET Framework 4).

      أو

    • Microsoft.VisualStudio.أدوات.Applications.ServerDocument.v10.0.dll و Microsoft.VisualStudio.أدوات.Applications.وقت التشغيل.v9.0.dll (إذا كان مشروع تستهدف 3.5 إطار عمل.NET).

  • Imports (for Visual Basic) or using (for C#) statements for Microsoft.VisualStudio.Tools.Applications and Microsoft.VisualStudio.Tools.Applications.Runtime namespaces at the top of your code file.

Private Sub ReadCachedStringValue(ByVal documentPath As String)
    Dim runtimeVersion As Integer = 0
    Dim serverDocument1 As ServerDocument = Nothing

    Try
        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.")
            Return
        End If

        If 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 IsNot Nothing AndAlso _
                Type.GetType(dataItem1.DataType).Equals(GetType(String)) Then

                Using stringReader As New System.IO.StringReader(dataItem1.Xml)
                    Dim serializer As New System.Xml.Serialization.XmlSerializer(GetType(String))
                    Dim cachedString As String = serializer.Deserialize(stringReader)
                    MessageBox.Show("The value of CachedString is: " + cachedString)
                End Using
            End If
        Else
            MessageBox.Show("The specified document does not have cached data.")
        End If

    Catch 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.")
    Finally
        If Not (serverDocument1 Is Nothing) Then
            serverDocument1.Close()
        End If
    End Try
End Sub
private void 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) as string;
                    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();
    }
}

على سبيل مثال للتعليمات برمجية الذي يوضح كيفية استخدام Xmlبتعديل وإجراء تسلسل للخاصية التغييرات إلى التخزين المؤقت DataSet، راجع كيفية: تغيير البيانات المخزنة مؤقتاً في مصنف على خادم.

أمن NET Framework.

راجع أيضًَا

المرجع

CachedDataItem الفئة

CachedDataItem الأعضاء

Microsoft.VisualStudio.Tools.Applications مساحة الاسم