XmlSchemaDatatype.ParseValue Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя | Описание |
|---|---|
| ParseValue(String, XmlNameTable, IXmlNamespaceResolver) |
При переопределении в производном классе проверяет |
| ParseValue(String, XmlNameTable, XmlNamespaceManager) |
При переопределении в производном классе проверяет указанную строку на основе встроенного или определяемого пользователем простого типа. |
ParseValue(String, XmlNameTable, IXmlNamespaceResolver)
- Исходный код:
- XmlSchemaDataType.cs
- Исходный код:
- XmlSchemaDataType.cs
- Исходный код:
- XmlSchemaDataType.cs
- Исходный код:
- XmlSchemaDataType.cs
- Исходный код:
- XmlSchemaDataType.cs
При переопределении в производном классе проверяет string указанный тип на основе встроенного или определяемого пользователем простого типа.
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
Параметры
- s
- String
Проверка string на соответствие простому типу.
- nameTable
- XmlNameTable
Используется XmlNameTable для атомизации при синтаксическом анализе string , если этот XmlSchemaDatatype объект представляет тип xs:NCName.
- nsmgr
- IXmlNamespaceResolver
Объект IXmlNamespaceResolver , используемый при синтаксическом анализе string , XmlSchemaDatatype представляет тип xs:QName.
Возвращаемое значение
Значение Object , которое можно безопасно привести к типу, возвращаемого свойством ValueType .
Исключения
Входное значение не является допустимым экземпляром этого типа схемы XML W3C.
Значение для синтаксического анализа не может быть null.
Примеры
В следующем примере извлекается простой LotteryNumber тип из файла example.xsd в виде XmlSchemaSimpleType файла, а затем проверяется string значение 5 метода ParseValue .
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
Следующий XML-файл используется для предыдущего примера кода.
<?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>
Комментарии
Метод ParseValue проверяет указанный string тип на основе встроенного или определяемого пользователем простого типа. Например, если это XmlSchemaDatatype представляет тип xs:date, возвращается экземпляр DateTime .
Ниже приведены шаги, выполняемые во время ParseValue процесса проверки метода.
Преобразуйте значение, указанное в качестве соответствующего
stringтипа среды CLR.Убедитесь, что значение не нарушает какие-либо аспекты, определенные для простого типа.
Преобразованное значение возвращается в качестве значения Object и может быть безопасно приведение к типу, возвращаемого свойством ValueType .
XmlSchemaDatatype Когда объект представляет тип списка, входное string значение преобразуется в список одного или нескольких объектов.
XmlSchemaDatatype Когда объект представляет тип списка, предпринимается попытка проанализировать входное значение как тип члена объединения. Если попытка синтаксического анализа завершается ошибкой, преобразование выполняется с помощью следующего члена объединения, пока синтаксический анализ не будет выполнен успешно или нет других типов элементов для анализа. Если синтаксический анализ не выполнен, создается исключение.
Применяется к
ParseValue(String, XmlNameTable, XmlNamespaceManager)
При переопределении в производном классе проверяет указанную строку на основе встроенного или определяемого пользователем простого типа.
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
Параметры
- s
- String
Строка для проверки по простому типу.
- nameTable
- XmlNameTable
Используется XmlNameTable для атомизации при синтаксическом анализе строки, если этот XmlSchemaDatatype объект представляет тип xs:NCName.
- nsmgr
- XmlNamespaceManager
Объект XmlNamespaceManager , используемый при синтаксическом анализе строки, если этот XmlSchemaDatatype объект представляет тип xs:QName.
Возвращаемое значение
Значение Object , которое можно безопасно привести к типу, возвращаемого свойством ValueType .
Исключения
Входное значение не является допустимым экземпляром этого типа схемы XML W3C.
Значение для синтаксического анализа не может иметь значение NULL (Nothing в Visual Basic).
Комментарии
Метод ParseValue проверяет указанную строку по встроенному или пользовательскому простому типу. Например, если это XmlSchemaDatatype представляет тип xs:date, возвращается экземпляр DateTime .
Ниже приведены шаги, выполняемые во время ParseValue процесса проверки метода.
Преобразуйте указанную строку в соответствующий тип среды CLR.
Убедитесь, что значение не нарушает какие-либо аспекты, определенные для простого типа.
Преобразованное значение возвращается в качестве значения Object и может быть безопасно приведение к типу, возвращаемого свойством ValueType .
XmlSchemaDatatype Когда объект представляет тип списка, входное строковое значение преобразуется в список одного или нескольких объектов. XmlSchemaDatatype Когда объект представляет тип списка, предпринимается попытка проанализировать входное значение как тип члена объединения. Если попытка синтаксического анализа завершается ошибкой, преобразование выполняется с помощью следующего члена объединения, пока синтаксический анализ не будет выполнен успешно или нет других типов элементов для анализа. Если синтаксический анализ не выполнен, создается исключение.