XmlNamespaceManager.AddNamespace(String, String) XmlNamespaceManager.AddNamespace(String, String) XmlNamespaceManager.AddNamespace(String, String) XmlNamespaceManager.AddNamespace(String, String) Method

定義

指定した名前空間をコレクションに追加します。Adds the given namespace to the collection.

public:
 virtual void AddNamespace(System::String ^ prefix, System::String ^ uri);
public virtual void AddNamespace (string prefix, string uri);
abstract member AddNamespace : string * string -> unit
override this.AddNamespace : string * string -> unit
Public Overridable Sub AddNamespace (prefix As String, uri As String)

パラメーター

prefix
String String String String

追加する名前空間に関連付けるプリフィックス。The prefix to associate with the namespace being added. String.Empty を使用して、既定の名前空間を追加します。Use String.Empty to add a default namespace.

XML Path Language (XPath) 式の名前空間の解決に XmlNamespaceManager を使用する場合は、プレフィックスを指定する必要があります。NoteIf the XmlNamespaceManager will be used for resolving namespaces in an XML Path Language (XPath) expression, a prefix must be specified. XPath 式にプレフィックスが含まれていない場合、名前空間 URI (Uniform Resource Identifier) は、空の名前空間であると見なされます。If an XPath expression does not include a prefix, it is assumed that the namespace Uniform Resource Identifier (URI) is the empty namespace. XPath 式および XmlNamespaceManager の詳細については、SelectNodes(String) メソッドおよび SetContext(XmlNamespaceManager) メソッドの説明を参照してください。For more information about XPath expressions and the XmlNamespaceManager, refer to the SelectNodes(String) and SetContext(XmlNamespaceManager) methods.

uri
String String String String

追加する名前空間。The namespace to add.

例外

prefix の値が "xml" または "xmlns" です。The value for prefix is "xml" or "xmlns".

prefix または uri の値が null です。The value for prefix or uri is null.

次の例ではXmlNamespaceManagerXML フラグメント内の名前空間を解決します。The following example uses XmlNamespaceManager to resolve namespaces in an XML fragment.

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

注釈

XmlNamespaceManager チェックしませんprefixuri標準に準拠します。XmlNamespaceManager does not check prefix and uri for conformance.

XmlReader 保つには、World Wide Web Consortium (W3C) に従って有効な XML 名のプレフィックスと名前空間を含め、名を確認します。名前空間仕様します。XmlReader checks names, including prefixes and namespaces, to ensure they are valid XML names according to the World Wide Web Consortium (W3C) Namespaces specification. XmlNamespaceManager 内部で使用されるXmlReaderの作業の重複を避けるために、XmlNamespaceManagerすべてのプレフィックスと名前空間が有効と見なされます。XmlNamespaceManager is used internally by XmlReader, so to avoid a duplication of efforts, XmlNamespaceManager assumes all prefixes and namespaces are valid.

現在のスコープ内でプレフィックスと名前空間が既に存在する場合、新しいプレフィックスおよび名前空間のペアは既存のプレフィックス/名前空間の組み合わせを置き換えます。If the prefix and namespace already exist within the current scope, the new prefix and namespace pair will replace the existing prefix/namespace combination. 同じプレフィックスおよび名前空間の組み合わせは、さまざまなスコープで存在できます。The same prefix and namespace combination can exist across different scopes.

既定で次のプレフィックス/名前空間のペアを追加、XmlNamespaceManagerします。The following prefix/namespace pairs are added by default to the XmlNamespaceManager. これらは、任意のスコープで確認できます。They can be determined at any scope.

プレフィックスPrefix 名前空間Namespace
xmlnsxmlns http://www.w3.org/2000/xmlns/ (xmlns プレフィックスの名前空間)http://www.w3.org/2000/xmlns/ (the xmlns prefix namespace)
xmlxml http://www.w3.org/XML/1998/namespace (XML 名前空間)http://www.w3.org/XML/1998/namespace (the XML namespace)
String.EmptyString.Empty String.Empty (空の名前空間)。String.Empty (the empty namespace). この値は、別のプレフィックスを再割り当ています。This value can be reassigned a different prefix. たとえば、xmlns =""を空の名前空間の既定の名前空間を定義します。For example, xmlns="" defines the default namespace to be the empty namespace

適用対象

こちらもご覧ください