XmlSchemaObject.Namespaces Właściwość

Definicja

Pobiera lub ustawia XmlSerializerNamespaces obiekt do użycia z tym obiektem schematu.

C#
public System.Xml.Serialization.XmlSerializerNamespaces Namespaces { get; set; }

Wartość właściwości

XmlSerializerNamespaces

Właściwość XmlSerializerNamespaces obiektu schematu.

Przykłady

W poniższym przykładzie prefiks myImpPrefix jest dodawany na poziomie elementu schematu. Prefiks jest następnie używany do kwalifikowania definicji importowanych z przestrzeni myImportNamespace.

C#
using System;
using System.Xml;
using System.Xml.Schema;

class XmlSchemaObject
{
    public static void Main()
    {
        XmlSchema s = new XmlSchema();
        s.TargetNamespace = "myNamespace";
        s.Namespaces.Add("myImpPrefix", "myImportNamespace");

        // Create the <xs:import> element.
        XmlSchemaImport import = new XmlSchemaImport();
        import.Namespace = "myImportNamespace";
        import.SchemaLocation = "http://www.example.com/myImportNamespace";
        s.Includes.Add(import);

        // Create an element and assign a type from imported schema.
        XmlSchemaElement elem = new XmlSchemaElement();
        elem.SchemaTypeName = new XmlQualifiedName("importType", "myImportNamespace");
        elem.Name = "element1";

        s.Items.Add(elem);
        s.Write(Console.Out);
    }
}

W przykładzie jest generowany następujący kod XML.

XML
<?xml version="1.0" encoding="IBM437"?>
<schema xmlns:myImpPrefix="myImportNamespace" targetNamespace="myNamespace" xmlns="http://www.w3.org/2001/XMLSchema">
  <import schemaLocation="http://www.microsoft.com/myImportNamespace" namespace="myImportNamespace" />
  <element name="element1" type="myImpPrefix:importType" />
</schema>

Uwagi

Daje to modelowi SOM (Schema Object Model) możliwość dodawania deklaracji xmlns. Jest to przydatne, gdy chcesz zadeklarować prefiks w celu zakwalifikowania deklaracji z zaimportowanego schematu lub użyć w atrybucie xs:selector elementu.

Możesz również użyć Namespaces właściwości , aby zmienić prefiksy przestrzeni nazw w schemacie. Na przykład można zmienić prefiks używany przez schemat przestrzeni nazw schematu XML W3C z xs na xsd, jak pokazano w poniższym przykładzie.

C#
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();  
namespaces.Add("myChangedPrefix", "myImportNamespace");  
s.Namespaces = namespaces;  

Dotyczy

Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1