CultureAndRegionInfoBuilder.CreateFromLdml(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Reconstitui um objeto CultureAndRegionInfoBuilder de um arquivo XML especificado que contém uma representação do objeto.
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
Parâmetros
- xmlFileName
- String
Um nome de arquivo que contém a representação XML de um objeto CultureAndRegionInfoBuilder.
Retornos
Um objeto novo equivalente às informações armazenadas no parâmetro xmlFileName
.
Exceções
xmlFileName
é null
.
xmlFileName
é uma cadeia de caracteres vazia ("") ou o nome de arquivo ou de caminho é inválido.
Os dados em xmlFileName
não estão no formato XML válido.
- ou -
Ocorreu um erro de E/S ao acessar xmlFileName
.
Os dados em xmlFileName
não estão no formato LDML válido.
Exemplos
O exemplo a seguir demonstra os Save métodos e 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".
'
Comentários
O xmlFileName
parâmetro especifica um nome de arquivo que contém a representação XML de um CultureAndRegionInfoBuilder objeto . O formato do arquivo XML é chamado LDML (Locale Data Markup Language) versão 1.1. Um novo CultureAndRegionInfoBuilder objeto é criado e inicializado com os dados em xmlFileName
. O Save método executa a operação inversa do CreateFromLdml método .
No arquivo LDML, as propriedades de uma cultura são especificadas como elementos filho do <special>
elemento na <identity>
seção . Um valor de propriedade normalmente é especificado pelo atributo do type
elemento. Por exemplo, o trecho a seguir de um arquivo LDML define o pai de uma cultura como a cultura neutra em inglês.
<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>
Para obter mais informações sobre o padrão LDML, consulte Padrão Técnico Unicode nº 35, "Linguagem de Marcação de Dados de Localidade (LDML)" no site do Unicode Consortium.