Condividi tramite


XmlParserContext Costruttori

Definizione

Inizializza una nuova istanza della classe XmlParserContext con i valori specificati.

Overload

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

Inizializza una nuova istanza della classe XmlParserContext con i valori di XmlNameTable, XmlNamespaceManager, xml:lang e xml:space specificati.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace, Encoding)

Inizializza una nuova istanza della classe XmlParserContext con la codifica, l'oggetto XmlNameTable, l'oggetto XmlNamespaceManager, l'xml:lang e l'xml:space specificati.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace)

Inizializza una nuova istanza della classe XmlParserContext con l'oggetto XmlNameTable, l'oggetto XmlNamespaceManager , l'URI di base, l'xml:lang, l'xml:space e il tipo di documento specificati.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace, Encoding)

Inizializza una nuova istanza della classe XmlParserContext con l'oggetto XmlNameTable, l'oggetto XmlNamespaceManager, l'URI di base, l'xml:lang, l'xml:space e il tipo di documento specificati.

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace)

Inizializza una nuova istanza della classe XmlParserContext con i valori di XmlNameTable, XmlNamespaceManager, xml:lang e xml:space specificati.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string xmlLang, System.Xml.XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? xmlLang, System.Xml.XmlSpace xmlSpace);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * System.Xml.XmlSpace -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, xmlLang As String, xmlSpace As XmlSpace)

Parametri

nt
XmlNameTable

Oggetto XmlNameTable da utilizzare per suddividere le stringhe in elementi di base. Se il valore di questo oggetto è null, verrà utilizzata la tabella dei nomi impiegata per creare nsMgr. Per ulteriori informazioni sulle stringhe suddivise in elementi di base, vedere XmlNameTable.

nsMgr
XmlNamespaceManager

Oggetto XmlNamespaceManager da utilizzare per cercare informazioni sugli spazi dei nomi oppure null.

xmlLang
String

Ambito xml:lang.

xmlSpace
XmlSpace

Valore di XmlSpace che indica l'ambito xml:space.

Eccezioni

nt non è lo stesso XmlNameTable utilizzato per la costruzione di nsMgr.

Esempio

Nell'esempio seguente viene letto un frammento XML. Usa un XmlParserContext oggetto e il relativo XmlNamespaceManager per gestire la corrispondenza dello spazio dei nomi.

using System;
using System.IO;
using System.Xml;

public class Sample
{
    public static void Main()
    {
        XmlTextReader reader = null;

        try
        {
            //Create the XML fragment to be parsed.
            string xmlFrag = "<book> " +
                            "<title>Pride And Prejudice</title>" +
                            "<bk:genre>novel</bk:genre>" +
                            "</book>";

            //Create the XmlNamespaceManager that is used to
            //look up namespace information.
            NameTable nt = new NameTable();
            XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
            nsmgr.AddNamespace("bk", "urn:sample");

            //Create the XmlParserContext.
            XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

            //Implement the reader.
            reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);

            //Parse the XML fragment.  If they exist, display the
            //prefix and namespace URI of each element.
            while (reader.Read())
            {
                if (reader.IsStartElement())
                {
                    if (string.IsNullOrEmpty(reader.Prefix))
                    {
                        Console.WriteLine("<{0}>", reader.LocalName);
                    }
                    else
                    {
                        Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName);
                        Console.WriteLine(" The namespace URI is " + reader.NamespaceURI);
                    }
                }
            }
        }

        finally
        {
            if (reader != null)
                reader.Close();
        }
    }
} // End class
Imports System.IO
Imports System.Xml

Public Class Sample

    Public Shared Sub Main()
        Dim reader As XmlTextReader = Nothing

        Try
            'Create the XML fragment to be parsed.
            Dim xmlFrag As String = "<book> " & _
                                    "<title>Pride And Prejudice</title>" & _
                                    "<bk:genre>novel</bk:genre>" & _
                                    "</book>"

            'Create the XmlNamespaceManager that is used to
            'look up namespace information.
            Dim nt As New NameTable()
            Dim nsmgr As New XmlNamespaceManager(nt)
            nsmgr.AddNamespace("bk", "urn:sample")

            'Create the XmlParserContext.
            Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)

            'Implement the reader. 
            reader = New XmlTextReader(xmlFrag, XmlNodeType.Element, context)

            'Parse the XML fragment.  If they exist, display the   
            'prefix and namespace URI of each element.
            While reader.Read()
                If reader.IsStartElement() Then
                    If reader.Prefix = String.Empty Then
                        Console.WriteLine("<{0}>", reader.LocalName)
                    Else
                        Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName)
                        Console.WriteLine(" The namespace URI is " & reader.NamespaceURI)
                    End If
                End If
            End While
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

Si applica a

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, XmlSpace, Encoding)

Inizializza una nuova istanza della classe XmlParserContext con la codifica, l'oggetto XmlNameTable, l'oggetto XmlNamespaceManager, l'xml:lang e l'xml:space specificati.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace, System::Text::Encoding ^ enc);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding enc);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding? enc);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * System.Xml.XmlSpace * System.Text.Encoding -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, xmlLang As String, xmlSpace As XmlSpace, enc As Encoding)

Parametri

nt
XmlNameTable

Oggetto XmlNameTable da utilizzare per suddividere le stringhe in elementi di base. Se il valore di questo oggetto è null, verrà utilizzata la tabella dei nomi impiegata per creare nsMgr. Per ulteriori informazioni sulle stringhe suddivise in elementi di base, vedere XmlNameTable.

nsMgr
XmlNamespaceManager

Oggetto XmlNamespaceManager da utilizzare per cercare informazioni sugli spazi dei nomi oppure null.

xmlLang
String

Ambito xml:lang.

xmlSpace
XmlSpace

Valore di XmlSpace che indica l'ambito xml:space.

enc
Encoding

Oggetto Encoding che indica l'impostazione della codifica.

Eccezioni

nt non è lo stesso XmlNameTable utilizzato per la costruzione di nsMgr.

Si applica a

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace)

Inizializza una nuova istanza della classe XmlParserContext con l'oggetto XmlNameTable, l'oggetto XmlNamespaceManager , l'URI di base, l'xml:lang, l'xml:space e il tipo di documento specificati.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ docTypeName, System::String ^ pubId, System::String ^ sysId, System::String ^ internalSubset, System::String ^ baseURI, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string docTypeName, string pubId, string sysId, string internalSubset, string baseURI, string xmlLang, System.Xml.XmlSpace xmlSpace);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? docTypeName, string? pubId, string? sysId, string? internalSubset, string? baseURI, string? xmlLang, System.Xml.XmlSpace xmlSpace);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * string * string * string * string * string * System.Xml.XmlSpace -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, docTypeName As String, pubId As String, sysId As String, internalSubset As String, baseURI As String, xmlLang As String, xmlSpace As XmlSpace)

Parametri

nt
XmlNameTable

Oggetto XmlNameTable da utilizzare per suddividere le stringhe in elementi di base. Se il valore di questo oggetto è null, verrà utilizzata la tabella dei nomi impiegata per creare nsMgr. Per ulteriori informazioni sulle stringhe suddivise in elementi di base, vedere XmlNameTable.

nsMgr
XmlNamespaceManager

Oggetto XmlNamespaceManager da utilizzare per cercare informazioni sugli spazi dei nomi oppure null.

docTypeName
String

Nome della dichiarazione del tipo di documento.

pubId
String

Identificatore pubblico.

sysId
String

Identificatore di sistema.

internalSubset
String

Sottoinsieme DTD interno. Il sottoinsieme DTD viene utilizzato per la risoluzione dell'entità, non per la convalida del documento.

baseURI
String

URI di base per il frammento XML, ovvero percorso da cui è stato caricato il frammento.

xmlLang
String

Ambito xml:lang.

xmlSpace
XmlSpace

Valore di XmlSpace che indica l'ambito xml:space.

Eccezioni

nt non è lo stesso XmlNameTable utilizzato per la costruzione di nsMgr.

Esempio

Nell'esempio seguente viene usato un XmlParserContext oggetto per leggere un frammento XML.

using System;
using System.IO;
using System.Xml;

public class Sample
{
    public static void Main()
    {
        XmlTextReader reader = null;

        try
        {
            //Create the XML fragment to be parsed.
            string xmlFrag = "<book genre='novel' misc='sale-item &h;'></book>";

            //Create the XmlParserContext. The XmlParserContext provides the
            //necessary DTD information so that the entity reference can be expanded.
            XmlParserContext context;
            string subset = "<!ENTITY h 'hardcover'>";
            context = new XmlParserContext(null, null, "book", null, null, subset, "", "", XmlSpace.None);

            //Create the reader.
            reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context);

            //Read the all the attributes on the book element.
            reader.MoveToContent();
            while (reader.MoveToNextAttribute())
            {
                Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
            }
        }
        finally
        {
            if (reader != null)
                reader.Close();
        }
    }
} // End class
Option Explicit On
Option Strict On

Imports System.IO
Imports System.Xml

Public Class Sample

    Public Shared Sub Main()
        Dim reader As XmlTextReader = Nothing
        Try
            'Create the XML fragment to be parsed.
            Dim xmlFrag As String = "<book genre='novel' misc='sale-item &h;'></book>"

            'Create the XmlParserContext. The XmlParserContext provides the 
            'necessary DTD information so that the entity reference can be expanded.
            Dim context As XmlParserContext
            Dim subset As String = "<!ENTITY h 'hardcover'>"
            context = New XmlParserContext(Nothing, Nothing, "book", Nothing, Nothing, subset, "", "", XmlSpace.None)

            'Create the reader. 
            reader = New XmlTextReader(xmlFrag, XmlNodeType.Element, context)

            'Read the all the attributes on the book element.
            reader.MoveToContent()
            While reader.MoveToNextAttribute()
                Console.WriteLine("{0} = {1}", reader.Name, reader.Value)
            End While
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

Commenti

Questo costruttore fornisce tutte le DocumentType informazioni necessarie da XmlValidatingReader. Se viene XmlParserContext passato a un XmlTextReaderoggetto , tutte le informazioni DTD vengono ignorate.

Se si passa un DTD come internalSubset, il DTD viene usato per la risoluzione delle entità, non per la convalida del documento.

Si applica a

XmlParserContext(XmlNameTable, XmlNamespaceManager, String, String, String, String, String, String, XmlSpace, Encoding)

Inizializza una nuova istanza della classe XmlParserContext con l'oggetto XmlNameTable, l'oggetto XmlNamespaceManager, l'URI di base, l'xml:lang, l'xml:space e il tipo di documento specificati.

public:
 XmlParserContext(System::Xml::XmlNameTable ^ nt, System::Xml::XmlNamespaceManager ^ nsMgr, System::String ^ docTypeName, System::String ^ pubId, System::String ^ sysId, System::String ^ internalSubset, System::String ^ baseURI, System::String ^ xmlLang, System::Xml::XmlSpace xmlSpace, System::Text::Encoding ^ enc);
public XmlParserContext (System.Xml.XmlNameTable nt, System.Xml.XmlNamespaceManager nsMgr, string docTypeName, string pubId, string sysId, string internalSubset, string baseURI, string xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding enc);
public XmlParserContext (System.Xml.XmlNameTable? nt, System.Xml.XmlNamespaceManager? nsMgr, string? docTypeName, string? pubId, string? sysId, string? internalSubset, string? baseURI, string? xmlLang, System.Xml.XmlSpace xmlSpace, System.Text.Encoding? enc);
new System.Xml.XmlParserContext : System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager * string * string * string * string * string * string * System.Xml.XmlSpace * System.Text.Encoding -> System.Xml.XmlParserContext
Public Sub New (nt As XmlNameTable, nsMgr As XmlNamespaceManager, docTypeName As String, pubId As String, sysId As String, internalSubset As String, baseURI As String, xmlLang As String, xmlSpace As XmlSpace, enc As Encoding)

Parametri

nt
XmlNameTable

Oggetto XmlNameTable da utilizzare per suddividere le stringhe in elementi di base. Se il valore di questo oggetto è null, verrà utilizzata la tabella dei nomi impiegata per creare nsMgr. Per ulteriori informazioni sulle stringhe suddivise in elementi di base, vedere XmlNameTable.

nsMgr
XmlNamespaceManager

Oggetto XmlNamespaceManager da utilizzare per cercare informazioni sugli spazi dei nomi oppure null.

docTypeName
String

Nome della dichiarazione del tipo di documento.

pubId
String

Identificatore pubblico.

sysId
String

Identificatore di sistema.

internalSubset
String

Sottoinsieme DTD interno. La definizione DTD viene utilizzata per la risoluzione dell'entità, non per la convalida del documento.

baseURI
String

URI di base per il frammento XML, ovvero percorso da cui è stato caricato il frammento.

xmlLang
String

Ambito xml:lang.

xmlSpace
XmlSpace

Valore di XmlSpace che indica l'ambito xml:space.

enc
Encoding

Oggetto Encoding che indica l'impostazione della codifica.

Eccezioni

nt non è lo stesso XmlNameTable utilizzato per la costruzione di nsMgr.

Si applica a