Freigeben über


CultureAndRegionInfoBuilder.CreateFromLdml(String) Methode

Definition

Rekonstruiert ein CultureAndRegionInfoBuilder-Objekt aus einer angegebenen XML-Datei, die eine Darstellung des Objekts enthält.

public:
 static System::Globalization::CultureAndRegionInfoBuilder ^ CreateFromLdml(System::String ^ xmlFileName);
public static System.Globalization.CultureAndRegionInfoBuilder CreateFromLdml (string xmlFileName);
static member CreateFromLdml : string -> System.Globalization.CultureAndRegionInfoBuilder
Public Shared Function CreateFromLdml (xmlFileName As String) As CultureAndRegionInfoBuilder

Parameter

xmlFileName
String

Der Name einer Datei, die die XML-Darstellung eines CultureAndRegionInfoBuilder-Objekts enthält.

Gibt zurück

Ein neues Objekt, das den unter dem xmlFileName-Parameter gespeicherten Informationen entspricht.

Ausnahmen

xmlFileName ist null.

xmlFileName ist eine leere Zeichenfolge ("") oder ein ungültiger Datei- oder Pfadname.

Die Daten in xmlFileName weisen kein gültiges XML-Format auf.

- oder -

Beim Zugriff auf xmlFileName ist ein E/A-Fehler aufgetreten.

Die Daten in xmlFileName weisen kein gültiges LDML-Format auf.

Beispiele

Das folgende Beispiel veranschaulicht die Save und CreateFromLdml Methoden.

// This example demonstrates the CultureAndRegionInfoBuilder.Save and
// CreateFromLdml methods.
// Compile this example with a reference to sysglobl.dll.

using System;
using System.Globalization;
using System.IO;
using System.Xml;

class Sample
{
    public static void Main()
    {
    string savedCARIB = "mySavedCARIB.xml";
    string msg1 = "The name of the original CultureAndRegionInfoBuilder" +
                  " is \"{0}\".";
    string msg2 = "Reconstituting the CultureAndRegionInfoBuilder object " +
                  "from \"{0}\".";
    string msg3 = "The name of the reconstituted CultureAndRegionInfoBuilder" +
                  " is \"{0}\".";

// Construct a new, privately used culture that extends the en-US culture
// provided by the .NET Framework. In this sample, the CultureAndRegion-
// Types.Specific parameter creates a minimal CultureAndRegionInfoBuilder
// object that you must populate with culture and region information.

    CultureAndRegionInfoBuilder cib1 = null;
    CultureAndRegionInfoBuilder cib2 = null;
    try {
        cib1 = new CultureAndRegionInfoBuilder(
                           "x-en-US-sample", CultureAndRegionModifiers.None);
        }
    catch (ArgumentException ae)
        {
        Console.WriteLine(ae);
        return;
        }

// Populate the new CultureAndRegionInfoBuilder object with culture information.
    CultureInfo ci = new CultureInfo("en-US");
    cib1.LoadDataFromCultureInfo(ci);

// Populate the new CultureAndRegionInfoBuilder object with region information.
    RegionInfo  ri = new RegionInfo("US");
    cib1.LoadDataFromRegionInfo(ri);

// Display a property of the new custom culture.
    Console.Clear();
    Console.WriteLine(msg1, cib1.CultureName);

// Save the new CultureAndRegionInfoBuilder object in the specified file in
// LDML format. The file is saved in the same directory as the application
// that calls the Save method.

    Console.WriteLine("Saving the custom culture to a file...");
    try {
        cib1.Save( savedCARIB );
        }
    catch (IOException exc)
        {
        Console.WriteLine("** I/O exception: {0}", exc.Message);
        return;
        }

// Create a new CultureAndRegionInfoBuilder object from the persisted file.
    Console.WriteLine(msg2, savedCARIB);
    try {
        cib2 = CultureAndRegionInfoBuilder.CreateFromLdml( savedCARIB );
        }
    catch (XmlException xe)
        {
        Console.WriteLine("** XML validation exception: {0}", xe.Message);
        return;
        }

// Display a property of the resonstituted custom culture.
    Console.WriteLine(msg3, cib2.CultureName);

// At this point you could call the Register method and make the reconstituted
// custom culture available to other applications. The mySavedCARIB.xml file
// remains on your computer.
    }
}

/*
This code example produces the following results:

The name of the original CultureAndRegionInfoBuilder is "x-en-US-sample".
Saving the custom culture to a file...
Reconstituting the CultureAndRegionInfoBuilder object from "mySavedCARIB.xml".
The name of the reconstituted CultureAndRegionInfoBuilder is "x-en-US-sample".

*/
' This example demonstrates the CultureAndRegionInfoBuilder.Save and 
' CreateFromLdml methods.
' Compile this example with a reference to sysglobl.dll.

Imports System.Globalization
Imports System.IO
Imports System.Xml

Class Sample
    Public Shared Sub Main() 
        Dim savedCARIB As String = "mySavedCARIB.xml"
        Dim msg1 As String = "The name of the original CultureAndRegionInfoBuilder" & _
                             " is ""{0}""."
        Dim msg2 As String = "Reconstituting the CultureAndRegionInfoBuilder object " & _
                             "from ""{0}""."
        Dim msg3 As String = "The name of the reconstituted CultureAndRegionInfoBuilder" & _
                             " is ""{0}""."

        ' Construct a new, privately used culture that extends the en-US culture 
        ' provided by the .NET Framework. In this sample, the CultureAndRegion-
        ' Types.Specific parameter creates a minimal CultureAndRegionInfoBuilder 
        ' object that you must populate with culture and region information.

        Dim cib1 As CultureAndRegionInfoBuilder = Nothing
        Dim cib2 As CultureAndRegionInfoBuilder = Nothing
        
        Try
            cib1 = New CultureAndRegionInfoBuilder("x-en-US-sample", _
                                        CultureAndRegionModifiers.None)
        Catch ae As ArgumentException
            Console.WriteLine(ae)
            Return
        End Try
        
        ' Populate the new CultureAndRegionInfoBuilder object with culture information.
        Dim ci As New CultureInfo("en-US")
        cib1.LoadDataFromCultureInfo(ci)
        
        ' Populate the new CultureAndRegionInfoBuilder object with region information.
        Dim ri As New RegionInfo("US")
        cib1.LoadDataFromRegionInfo(ri)
        
        ' Display a property of the new custom culture.
        Console.Clear()
        Console.WriteLine(msg1, cib1.CultureName)
        
        ' Save the new CultureAndRegionInfoBuilder object in the specified file in
        ' LDML format. The file is saved in the same directory as the application 
        ' that calls the Save method.

        Console.WriteLine("Saving the custom culture to a file...")
        Try
            cib1.Save(savedCARIB)
        Catch exc As IOException
            Console.WriteLine("** I/O exception: {0}", exc.Message)
            Return
        End Try
        
        ' Create a new CultureAndRegionInfoBuilder object from the persisted file.
        Console.WriteLine(msg2, savedCARIB)
        Try
            cib2 = CultureAndRegionInfoBuilder.CreateFromLdml(savedCARIB)
        Catch xe As XmlException
            Console.WriteLine("** XML validation exception: {0}", xe.Message)
            Return
        End Try
        
        ' Display a property of the resonstituted custom culture.
        Console.WriteLine(msg3, cib2.CultureName)

        ' At this point you could call the Register method and make the reconstituted
        ' custom culture available to other applications. The mySavedCARIB.xml file
        ' remains on your computer.

    End Sub
End Class

'This code example produces the following results:
'
'The name of the original CultureAndRegionInfoBuilder is "x-en-US-sample".
'Saving the custom culture to a file...
'Reconstituting the CultureAndRegionInfoBuilder object from "mySavedCARIB.xml".
'The name of the reconstituted CultureAndRegionInfoBuilder is "x-en-US-sample".
'

Hinweise

Die xmlFileName Parameter gibt einen Dateinamen, die die XML-Darstellung der enthält einem CultureAndRegionInfoBuilder Objekt. Das Format der XML-Datei heißt Locale Data Markup Language (LDML) Version 1.1. Ein neues CultureAndRegionInfoBuilder -Objekt wird erstellt und mit den Daten in xmlFileNameinitialisiert. Die Save -Methode führt den umgekehrten Vorgang der CreateFromLdml -Methode aus.

In der LDML-Datei werden die Eigenschaften einer Kultur als untergeordnete Elemente des <special> Elements im <identity> Abschnitt angegeben. Ein Eigenschaftswert wird in der Regel durch das Attribut des type Elements angegeben. Der folgende Auszug aus einer LDML-Datei definiert beispielsweise das übergeordnete Element einer Kultur als neutrale Kultur in Englisch.

<identity>
   <version number="1.1">ldml version 1.1</version>
   <generation date="2012-05-16" />
   <special xmlns:msLocale="http://schemas.microsoft.com/globalization/2004/08/carib/ldml">
      <!-content removed -->
      <msLocale:parentName type="en" />
      <!-content removed -->
   </special>
</identity>

Weitere Informationen zum LDML-Standard finden Sie unter Unicode Technical Standard #35, "Locale Data Markup Language (LDML)" auf der Unicode Consortium-Website.

Gilt für:

Weitere Informationen