Bagikan melalui


XmlSchemaDatatype.ParseValue Metode

Definisi

Overload

Nama Deskripsi
ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

Saat ditimpa dalam kelas turunan, memvalidasi string yang ditentukan terhadap jenis sederhana bawaan atau yang ditentukan pengguna.

ParseValue(String, XmlNameTable, XmlNamespaceManager)

Saat ditimpa dalam kelas turunan, memvalidasi string yang ditentukan terhadap jenis sederhana bawaan atau yang ditentukan pengguna.

ParseValue(String, XmlNameTable, IXmlNamespaceResolver)

Sumber:
XmlSchemaDataType.cs
Sumber:
XmlSchemaDataType.cs
Sumber:
XmlSchemaDataType.cs
Sumber:
XmlSchemaDataType.cs
Sumber:
XmlSchemaDataType.cs

Saat ditimpa dalam kelas turunan, memvalidasi string yang ditentukan terhadap jenis sederhana bawaan atau yang ditentukan pengguna.

public:
 abstract System::Object ^ ParseValue(System::String ^ s, System::Xml::XmlNameTable ^ nameTable, System::Xml::IXmlNamespaceResolver ^ nsmgr);
public abstract object ParseValue(string s, System.Xml.XmlNameTable? nameTable, System.Xml.IXmlNamespaceResolver? nsmgr);
public abstract object ParseValue(string s, System.Xml.XmlNameTable nameTable, System.Xml.IXmlNamespaceResolver nsmgr);
abstract member ParseValue : string * System.Xml.XmlNameTable * System.Xml.IXmlNamespaceResolver -> obj
Public MustOverride Function ParseValue (s As String, nameTable As XmlNameTable, nsmgr As IXmlNamespaceResolver) As Object

Parameter

s
String

string untuk memvalidasi terhadap jenis sederhana.

nameTable
XmlNameTable

yang XmlNameTable digunakan untuk atomisasi saat mengurai string jika objek ini XmlSchemaDatatype mewakili jenis xs:NCName.

nsmgr
IXmlNamespaceResolver

Objek IXmlNamespaceResolver yang digunakan saat mengurai string jika objek ini XmlSchemaDatatype mewakili jenis xs:QName.

Mengembalikan

Yang Object dapat ditransmisikan dengan aman ke jenis yang dikembalikan oleh ValueType properti .

Pengecualian

Nilai input bukan instans yang valid dari jenis Skema XML W3C ini.

Nilai yang akan diurai tidak boleh null.

Contoh

Contoh berikut mengambil LotteryNumber jenis sederhana dari file example.xsd sebagai XmlSchemaSimpleType lalu memvalidasi string nilai penggunaan 5ParseValue metode .

using System;
using System.Xml;
using System.Xml.Schema;

class XMLSchemaExamples
{
    public static void Main()
    {
        XmlTextReader xtr = new XmlTextReader("example.xsd");
        XmlSchema schema = XmlSchema.Read(xtr, new ValidationEventHandler(ValidationCallbackOne));

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

        XmlSchema compiledSchema = null;

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

        foreach (XmlSchemaObject schemaObject in compiledSchema.Items)
        {
            if (schemaObject.GetType() == typeof(XmlSchemaSimpleType))
            {
                XmlSchemaSimpleType simpleType = (XmlSchemaSimpleType)schemaObject;
                Console.WriteLine("{0} {1}", simpleType.Name, simpleType.Datatype.ValueType);
            }
            if (schemaObject.GetType() == typeof(XmlSchemaComplexType))
            {
                XmlSchemaComplexType complexType = (XmlSchemaComplexType)schemaObject;
                Console.WriteLine("{0} {1}", complexType.Name, complexType.Datatype.ValueType);
            }
        }
        xtr.Close();
    }

    public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
    {
        Console.WriteLine(args.Message);
    }
}
Imports System.Xml
Imports System.Xml.Schema

 _

Class XMLSchemaExamples

    Public Shared Sub Main()
        Dim xtr As New XmlTextReader("example.xsd")
        Dim schema As XmlSchema = XmlSchema.Read(xtr, New ValidationEventHandler(AddressOf ValidationCallbackOne))

        Dim schemaSet As New XmlSchemaSet()
        AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne

        schemaSet.Add(schema)
        schemaSet.Compile()

        Dim compiledSchema As XmlSchema = Nothing

        For Each schema1 As XmlSchema In schemaSet.Schemas()
            compiledSchema = schema1
        Next

        Dim schemaObject As XmlSchemaObject
        For Each schemaObject In compiledSchema.Items
            If schemaObject.GetType() Is GetType(XmlSchemaSimpleType) Then
                Dim simpleType As XmlSchemaSimpleType = CType(schemaObject, XmlSchemaSimpleType)
                Console.WriteLine("{0} {1}", simpleType.Name, simpleType.Datatype.ValueType)
            End If
            If schemaObject.GetType() Is GetType(XmlSchemaComplexType) Then
                Dim complexType As XmlSchemaComplexType = CType(schemaObject, XmlSchemaComplexType)
                Console.WriteLine("{0} {1}", complexType.Name, complexType.Datatype.ValueType)
            End If
        Next schemaObject
        xtr.Close()
    End Sub


    Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
        Console.WriteLine(args.Message)
    End Sub
End Class

File XML berikut digunakan untuk contoh kode sebelumnya.

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="LotteryNumber">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="99"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>

Keterangan

Metode ini ParseValue memvalidasi string yang ditentukan terhadap jenis sederhana bawaan atau yang ditentukan pengguna. Misalnya, jika ini XmlSchemaDatatype mewakili jenis xs:date, maka instans DateTime dikembalikan.

Berikut ini adalah langkah-langkah yang dilakukan selama ParseValue proses validasi metode.

  1. Konversikan nilai yang ditentukan sebagai ke string jenis Common Language Runtime (CLR) yang sesuai.

  2. Verifikasi bahwa nilai tidak melanggar faset apa pun yang ditentukan untuk jenis sederhana.

Nilai yang dikonversi kemudian dikembalikan sebagai dan Object dapat ditransmisikan dengan aman ke jenis yang dikembalikan oleh ValueType properti .

XmlSchemaDatatype Saat objek mewakili jenis daftar, nilai input string dikonversi ke daftar satu atau beberapa objek. XmlSchemaDatatype Ketika objek mewakili jenis daftar, upaya dilakukan untuk mengurai nilai input sebagai jenis anggota dari serikat. Jika upaya penguraian gagal, maka konversi dicoba dengan anggota serikat pekerja berikutnya sampai penguraian berhasil atau tidak ada jenis anggota lain untuk diurai. Jika penguraian tidak berhasil, pengecualian akan dilemparkan.

Berlaku untuk

ParseValue(String, XmlNameTable, XmlNamespaceManager)

Saat ditimpa dalam kelas turunan, memvalidasi string yang ditentukan terhadap jenis sederhana bawaan atau yang ditentukan pengguna.

public:
 abstract System::Object ^ ParseValue(System::String ^ s, System::Xml::XmlNameTable ^ nameTable, System::Xml::XmlNamespaceManager ^ nsmgr);
public abstract object ParseValue(string s, System.Xml.XmlNameTable nameTable, System.Xml.XmlNamespaceManager nsmgr);
abstract member ParseValue : string * System.Xml.XmlNameTable * System.Xml.XmlNamespaceManager -> obj
Public MustOverride Function ParseValue (s As String, nameTable As XmlNameTable, nsmgr As XmlNamespaceManager) As Object

Parameter

s
String

String untuk memvalidasi terhadap jenis sederhana.

nameTable
XmlNameTable

yang XmlNameTable digunakan untuk atomisasi saat mengurai string jika objek ini XmlSchemaDatatype mewakili jenis xs:NCName.

nsmgr
XmlNamespaceManager

Objek XmlNamespaceManager yang digunakan saat mengurai string jika objek ini XmlSchemaDatatype mewakili jenis xs:QName.

Mengembalikan

Yang Object dapat ditransmisikan dengan aman ke jenis yang dikembalikan oleh ValueType properti .

Pengecualian

Nilai input bukan instans yang valid dari jenis Skema XML W3C ini.

Nilai yang akan diurai tidak boleh null (Tidak ada di Visual Basic).

Keterangan

Metode ParseValue ini memvalidasi string yang ditentukan terhadap jenis sederhana bawaan atau yang ditentukan pengguna. Misalnya, jika ini XmlSchemaDatatype mewakili jenis xs:date, maka instans DateTime dikembalikan.

Berikut ini adalah langkah-langkah yang dilakukan selama ParseValue proses validasi metode.

  1. Konversi string yang ditentukan ke jenis Common Language Runtime (CLR) yang sesuai.

  2. Verifikasi bahwa nilai tidak melanggar faset apa pun yang ditentukan untuk jenis sederhana.

Nilai yang dikonversi kemudian dikembalikan sebagai dan Object dapat ditransmisikan dengan aman ke jenis yang dikembalikan oleh ValueType properti .

XmlSchemaDatatype Saat objek mewakili jenis daftar, nilai string input dikonversi ke daftar satu atau beberapa objek. XmlSchemaDatatype Ketika objek mewakili jenis daftar, upaya dilakukan untuk mengurai nilai input sebagai jenis anggota dari serikat. Jika upaya penguraian gagal, maka konversi dicoba dengan anggota serikat pekerja berikutnya sampai penguraian berhasil atau tidak ada jenis anggota lain untuk diurai. Jika penguraian tidak berhasil, pengecualian akan dilemparkan.

Berlaku untuk