CultureAndRegionInfoBuilder.CreateFromLdml(String) メソッド

定義

指定したオブジェクトの表現を格納した XML ファイルから CultureAndRegionInfoBuilder オブジェクトを再構成します。

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

パラメーター

xmlFileName
String

CultureAndRegionInfoBuilder オブジェクトの XML 表現を格納したファイルの名前。

戻り値

CultureAndRegionInfoBuilder

xmlFileName パラメーターに格納されている情報と等価の新しいオブジェクト。

例外

xmlFileNamenullです。

xmlFileName は、空の文字列 ("") か、または無効なファイルまたはパス名です。

xmlFileName のデータが有効な XML 形式ではありません。

  • または - xmlFileName にアクセスしているときに、I/O エラーが発生しました。

xmlFileName のデータが有効な LDML 形式ではありません。

次の例は、 Save メソッドとメソッドを示して CreateFromLdml います。

// 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".
'

注釈

パラメーターは、 xmlFileName オブジェクトの XML 表現を含むファイル名を指定し CultureAndRegionInfoBuilder ます。 XML ファイルの形式は、Locale Data Markup Language (LDML) バージョン1.1 と呼ばれています。 CultureAndRegionInfoBuilderのデータを使用して、新しいオブジェクトが作成され、初期化され xmlFileName ます。 メソッドは、 Save メソッドの逆の操作を実行し CreateFromLdml ます。

LDML ファイルでは、カルチャのプロパティは、セクションの要素の子要素として指定され <special> <identity> ます。 プロパティ値は、通常、要素の属性によって指定され type ます。 たとえば、LDML ファイルから抜粋した次の例では、カルチャの親を英語のニュートラルカルチャとして定義しています。

<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>  

LDML 標準の詳細については、Unicode コンソーシアムの web サイトの「 Unicode Technical standard #35」、「Locale Data Markup Language (LDML)」 を参照してください。

適用対象

こちらもご覧ください