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.
Fügt der Auflistung den angegebenen Namespace hinzu.
Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public Overridable Sub AddNamespace ( _
prefix As String, _
uri As String _
)
'Usage
Dim instance As XmlNamespaceManager
Dim prefix As String
Dim uri As String
instance.AddNamespace(prefix, uri)
public virtual void AddNamespace (
string prefix,
string uri
)
public:
virtual void AddNamespace (
String^ prefix,
String^ uri
)
public void AddNamespace (
String prefix,
String uri
)
public function AddNamespace (
prefix : String,
uri : String
)
Parameter
prefix
Das Präfix, das dem hinzugefügten Namespace zugeordnet werden soll. Verwenden Sie String.Empty, um einen Standardnamespace hinzuzufügen.Hinweis
Wenn der XmlNamespaceManager jedoch für das Auflösen von Namespaces in einem XPath (XML Path Language)-Ausdruck verwendet wird, muss ein Präfix angegeben werden. Wenn ein XPath-Ausdruck kein Präfix enthält, wird davon ausgegangen, dass der Namespace-URI (Uniform Resource Identifier) der leere Namespace ist. Weitere Informationen über XPath-Ausdrücke und den XmlNamespaceManager finden Sie in der XmlNode.SelectNodes-Methode und der XPathExpression.SetContext-Methode.
- uri
Der hinzuzufügende Namespace.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Der Wert für prefix ist "xml" oder "xmlns". |
|
Der Wert für prefix oder uri ist NULL (Nothing in Visual Basic). |
Hinweise
XmlNamespaceManager überprüft prefix und uri nicht auf Übereinstimmung.
XmlReader überprüft Namen einschließlich Präfix und Namespace, um sicherzustellen, dass es sich dabei um gültige XML-Namen gemäß der W3C (World Wide Web Consortium)-Spezifikation handelt. XmlNamespaceManager wird intern vom XmlReader verwendet. Um doppelten Aufwand zu vermeiden, geht XmlNamespaceManager davon aus, dass alle Präfixe und Namespaces gültig sind.
Wenn das Präfix und der Namespace innerhalb des aktuellen Gültigkeitsbereichs bereits vorhanden sind, ersetzt das neue Präfix-Namespace-Paar das vorhandene. Dieselbe Kombination aus Präfix und Namespace kann in verschiedenen Gültigkeitsbereichen vorhanden sein.
Die folgenden Präfix-Namespace-Paare werden dem XmlNamespaceManager standardmäßig hinzugefügt. Sie können in jedem Gültigkeitsbereich bestimmt werden.
Präfix |
Namespace |
|---|---|
xmlns |
http://www.w3.org/2000/xmlns/ (der Namespace mit dem Präfix "xmlns") |
xml |
http://www.w3.org/XML/1998/namespace (der XML-Namespace) |
String.Empty |
String.Empty (der leere Namespace). Diesem Wert kann ein anderes Präfix zugewiesen werden. beispielsweise definiert den leeren Namespace als Standardnamespace. |
Beispiel
Im folgenden Beispiel werden Namespaces in einem XML-Fragment mithilfe des XmlNamespaceManager aufgelöst.
Imports System
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim reader As XmlTextReader = Nothing
Try
' Create the string containing the XML to read.
Dim xmlFrag As String
xmlFrag = "<book>" & _
"<title>Pride And Prejudice</title>" & _
"<author>" & _
"<first-name>Jane</first-name>" & _
"<last-name>Austen</last-name>" & _
"</author>" & _
"<curr:price>19.95</curr:price>" & _
"<misc>&h;</misc>" & _
"</book>"
' Create an XmlNamespaceManager to resolve namespaces.
Dim nt As NameTable = New NameTable()
Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(nt)
nsmgr.AddNamespace(String.Empty, "urn:samples") 'default namespace
nsmgr.AddNamespace("curr", "urn:samples:dollar")
' Create an XmlParserContext. The XmlParserContext contains all the information
' required to parse the XML fragment, including the entity information and the
' XmlNamespaceManager to use for namespace resolution.
Dim context As XmlParserContext
Dim subset As String = "<!ENTITY h 'hardcover'>"
context = New XmlParserContext(nt, nsmgr, "book", Nothing, Nothing, subset, Nothing, Nothing, XmlSpace.None)
' Create the reader.
reader = New XmlTextReader(xmlFrag, XmlNodeType.Element, context)
' Parse the file and display the node values.
While (reader.Read())
If (reader.HasValue) Then
Console.WriteLine("{0} [{1}] = {2}", reader.NodeType, reader.Name, reader.Value)
Else
Console.WriteLine("{0} [{1}]", reader.NodeType, reader.Name)
End If
End While
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
using System;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlTextReader reader = null;
try
{
// Create the string containing the XML to read.
String xmlFrag = "<book>" +
"<title>Pride And Prejudice</title>" +
"<author>" +
"<first-name>Jane</first-name>" +
"<last-name>Austen</last-name>" +
"</author>" +
"<curr:price>19.95</curr:price>" +
"<misc>&h;</misc>" +
"</book>";
// Create an XmlNamespaceManager to resolve namespaces.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
nsmgr.AddNamespace(String.Empty, "urn:samples"); //default namespace
nsmgr.AddNamespace("curr", "urn:samples:dollar");
// Create an XmlParserContext. The XmlParserContext contains all the information
// required to parse the XML fragment, including the entity information and the
// XmlNamespaceManager to use for namespace resolution.
XmlParserContext context;
String subset = "<!ENTITY h 'hardcover'>";
context = new XmlParserContext(nt, nsmgr, "book", null, null, subset, null, null, XmlSpace.None);
// Create the reader.
reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);
// Parse the file and display the node values.
while (reader.Read())
{
if (reader.HasValue)
Console.WriteLine("{0} [{1}] = {2}", reader.NodeType, reader.Name, reader.Value);
else
Console.WriteLine("{0} [{1}]", reader.NodeType, reader.Name);
}
}
finally
{
if (reader != null)
reader.Close();
}
}
} // End class
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
XmlNamespaceManager-Klasse
XmlNamespaceManager-Member
System.Xml-Namespace