Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

XmlSchemaObject (Clase)

Representa la clase de la raíz de la jerarquía del modelo de objetos de esquema XML y actúa como clase base para las clases como la clase de XmlSchema .

Espacio de nombres:  System.Xml.Schema
Ensamblado:  System.Xml (en System.Xml.dll)

[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public abstract class XmlSchemaObject

El tipo XmlSchemaObject expone los siguientes miembros.

  NombreDescripción
Método protegidoCompatible con XNA FrameworkXmlSchemaObjectInicializa una nueva instancia de la clase de XmlSchemaObject .
Arriba

  NombreDescripción
Propiedad públicaCompatible con XNA FrameworkLineNumberObtiene o establece el número de línea del archivo al que el elemento de schema consulta.
Propiedad públicaCompatible con XNA FrameworkLinePositionObtiene o establece la posición de línea del archivo al que el elemento de schema consulta.
Propiedad públicaCompatible con XNA FrameworkNamespacesObtiene o establece XmlSerializerNamespaces para utilizar con este objeto de esquema.
Propiedad públicaCompatible con XNA FrameworkParentobtiene o establece el elemento primario de este XmlSchemaObject.
Propiedad públicaCompatible con XNA FrameworkSourceUriObtiene o establece la ubicación de origen del archivo de cargar el esquema.
Arriba

  NombreDescripción
Método públicoCompatible con XNA FrameworkEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegidoCompatible con XNA FrameworkFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método protegidoCompatible con XNA FrameworkMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoCompatible con XNA FrameworkToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

El ejemplo siguiente muestra cada objeto de esquema.


using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;
using System.Reflection;

public class ValidXSD
{
    public static int Main()
    {

        string xsd = "example.xsd";

        FileStream fs;
        XmlSchema schema;
        try
        {
            fs = new FileStream(xsd, FileMode.Open);
            schema = XmlSchema.Read(fs, new ValidationEventHandler(ShowCompileError));

            XmlSchemaSet schemaSet = new XmlSchemaSet();
            schemaSet.ValidationEventHandler += new ValidationEventHandler(ShowCompileError);
            schemaSet.Add(schema);
            schemaSet.Compile();

            XmlSchema compiledSchema = null;

            foreach (XmlSchema schema1 in schemaSet.Schemas())
            {
                compiledSchema = schema1;
            }

            schema = compiledSchema;

            if (schema.IsCompiled)
            {
                DisplayObjects(schema);
            }
            return 0;
        }
        catch (XmlSchemaException e)
        {
            Console.WriteLine("LineNumber = {0}", e.LineNumber);
            Console.WriteLine("LinePosition = {0}", e.LinePosition);
            Console.WriteLine("Message = {0}", e.Message);
            Console.WriteLine("Source = {0}", e.Source);
            return -1;
        }
    }

    private static void DisplayObjects(object o)
    {
        DisplayObjects(o, "");
    }
    private static void DisplayObjects(object o, string indent)
    {
        Console.WriteLine("{0}{1}", indent, o);

        foreach (PropertyInfo property in o.GetType().GetProperties())
        {
            if (property.PropertyType.FullName == "System.Xml.Schema.XmlSchemaObjectCollection")
            {

                XmlSchemaObjectCollection childObjectCollection = (XmlSchemaObjectCollection)property.GetValue(o, null);

                foreach (XmlSchemaObject schemaObject in childObjectCollection)
                {
                    DisplayObjects(schemaObject, indent + "\t");
                }
            }
        }
    }
    private static void ShowCompileError(object sender, ValidationEventArgs e)
    {
        Console.WriteLine("Validation Error: {0}", e.Message);
    }
}


el ejemplo utiliza el archivo de example.xsd como entrada.


<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:group name="testGroup">
  <xs:choice>
    <xs:any namespace="##any"/>
  </xs:choice>
  </xs:group>
  <xs:element name="myElement" >
  <xs:complexType>
    <xs:choice maxOccurs="unbounded">
      <xs:group ref="testGroup" />
    </xs:choice>
  </xs:complexType>
  </xs:element>
</xs:schema>


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft