Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Konvertiert den Namen in einen gültigen XML-Namen.
Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public Shared Function EncodeName ( _
name As String _
) As String
'Usage
Dim name As String
Dim returnValue As String
returnValue = XmlConvert.EncodeName(name)
public static string EncodeName (
string name
)
public:
static String^ EncodeName (
String^ name
)
public static String EncodeName (
String name
)
public static function EncodeName (
name : String
) : String
Parameter
- name
Ein zu übersetzender Name.
Rückgabewert
Gibt den Namen zurück, wobei ungültige Zeichen durch eine Escapezeichenfolge ersetzt wurden.
Hinweise
Diese Methode übersetzt ungültige Zeichen, z. B. Leerzeichen oder Katakanazeichen halber Breite, die XML-Namen zugeordnet werden müssen, ohne dass Schemas unterstützt werden oder vorhanden sind. Die ungültigen Zeichen werden als numerische Entitäten in Escapezeichen codiert.
Das Escapezeichen ist "_". Zeichen von XML-Namen, die nicht der W3C-Spezifikation Extensible Markup Language (XML) 1.0 entsprechen, werden in den Escapecode _xHHHH_ übersetzt. Die Zeichenfolge HHHH steht für den vierstelligen UCS-2-Hexadezimalcode für das Zeichen, wobei das höchstwertige Bit zuerst aufgeführt ist. Der Name Order Details wird z. B. als Order_x0020_Details codiert.
Der Unterstrich muss nur in ein Escapezeichen umgewandelt werden, wenn auf diesen eine Zeichensequenz folgt, die zusammen mit dem Unterstrich beim Decodieren des Namens als Escapesequenz fehlinterpretiert werden kann. Order_Details ist z. B. nicht codiert, Order_x0020_ ist jedoch als Order_x005f_x0020_ codiert. Kurzformen sind nicht zulässig. Zeichenfolgen der Form _x20_ und __ werden z. B. nicht generiert.
Diese Methode stellt sicher, dass der Name entsprechend der XML-Spezifikation gültig ist. Die Spezifikation lässt Doppelpunkte in jeder Position zu. Dies bedeutet, dass der Name weiterhin entsprechend der W3C-Namespacespezifikation (www.w3.org/TR/REC-xml-names, nur auf Englisch verfügbar) ungültig sein kann. Verwenden Sie EncodeLocalName für das Präfix und den Teil des lokalen Namens, und verbinden Sie das Ergebnis mit einem Doppelpunkt, um sicherzustellen, dass ein gültiger durch einen Namespace gekennzeichneter Name vorliegt.
Beispiel
Im folgenden Beispiel werden Namen codiert und decodiert.
Imports System
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
' Encode and decode a name with spaces.
Dim name1 as string = XmlConvert.EncodeName("Order Detail")
Console.WriteLine("Encoded name: " + name1)
Console.WriteLine("Decoded name: " + XmlConvert.DecodeName(name1))
' Encode and decode a local name.
Dim name2 as string= XmlConvert.EncodeLocalName("a:book")
Console.WriteLine("Encoded local name: " + name2)
Console.WriteLine("Decoded local name: " + XmlConvert.DecodeName(name2))
end sub
end class
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
// Encode and decode a name with spaces.
string name1 = XmlConvert.EncodeName("Order Detail");
Console.WriteLine("Encoded name: " + name1);
Console.WriteLine("Decoded name: " + XmlConvert.DecodeName(name1));
// Encode and decode a local name.
string name2 = XmlConvert.EncodeLocalName("a:book");
Console.WriteLine("Encoded local name: " + name2);
Console.WriteLine("Decoded local name: " + XmlConvert.DecodeName(name2));
}
}
#using <System.dll>
#using <System.XML.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
// Encode and decode a name with spaces.
String^ name1 = XmlConvert::EncodeName( "Order Detail" );
Console::WriteLine( "Encoded name: {0}", name1 );
Console::WriteLine( "Decoded name: {0}", XmlConvert::DecodeName( name1 ) );
// Encode and decode a local name.
String^ name2 = XmlConvert::EncodeLocalName( "a:book" );
Console::WriteLine( "Encoded local name: {0}", name2 );
Console::WriteLine( "Decoded local name: {0}", XmlConvert::DecodeName( name2 ) );
}
import System.*;
import System.IO.*;
import System.Xml.*;
public class Sample
{
public static void main(String[] args)
{
// Encode and decode a name with spaces.
String name1 = XmlConvert.EncodeName("Order Detail");
Console.WriteLine("Encoded name: " + name1);
Console.WriteLine("Decoded name: " + XmlConvert.DecodeName(name1));
// Encode and decode a local name.
String name2 = XmlConvert.EncodeLocalName("a:book");
Console.WriteLine("Encoded local name: " + name2);
Console.WriteLine("Decoded local name: "
+ XmlConvert.DecodeName(name2));
} //main
} //Sample
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
XmlConvert-Klasse
XmlConvert-Member
System.Xml-Namespace
EncodeLocalName
DecodeName