powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка допустимости XML
4 сообщений из 4, страница 1 из 1
Проверка допустимости XML
    #32958416
Фотография Abdul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!
Я не как не могу разобраться с Проверка допустимости XML посредством XSD
помогите
есть XML(Company.xml)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="utf-8" ?>
<Company>
	<CompanyName>My Company</CompanyName>
	<RegDate> 1997 - 07 - 02 </RegDate>
	<Employee EmpNum="123" JobTitle="Director">
		<name>Nik</name>
		<Tel> 22 - 777 - 123 </Tel>
		<Salary> 1742582 . 00 </Salary>
	</Employee>
</Company>
есть XSD(Company.xsd)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="Company" type="CompanyType"></xs:element>
	<xs:complexType name="CompanyType">
		<xs:sequence>
			<xs:element name="CompanyName" type="xs:string" />
			<xs:element name="RegDate" type="xs:date" />
			<xs:element name="Employee" type="EmployeeType" minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EmployeeType">
		<xs:sequence>
			<xs:element name="Name" type="xs:string" />
			<xs:element name="Tel" type="xs:string" />
			<xs:choice>
				<xs:element name="Salary" type="xs:double" />
				<xs:element name="DailyRate" type="xs:double" />
			</xs:choice>
			<xs:element name="EmpNum" type="xs:string" />
			<xs:element name="JobTitle" type="JobTitleType" />
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="JobTitleType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Director" />
			<xs:enumeration value="Manager" />
			<xs:enumeration value="Programmer" />
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
есть код для проверки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Shared Sub MyHandles(ByVal sender As Object, ByVal e As ValidationEventArgs) ' Handles xsd.ValidationEventHandler
        MsgBox(e.Message)
    End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim doc As XmlTextReader = New XmlTextReader("Company.xml")
        Dim xsd As XmlValidatingReader = New XmlValidatingReader(doc)
        xsd.Schemas.Add("", "Company.xsd")
        xsd.ValidationType = ValidationType.Schema
        AddHandler xsd.ValidationEventHandler, AddressOf MyHandles
End Sub
и этот код не работает если сделать ошыбку в XML например в теге RegDate поставить не дату, ни какой ошибки не выдаёт
Помогите!!
...
Рейтинг: 0 / 0
Проверка допустимости XML
    #32958572
Не хватает собственно чтения документа
и не забывайте закрывать ридер
Код: plaintext
1.
2.
3.
4.
5.
6.
Try
	While xsd.Read()
	End While
Finally
	xsd.Close()
End Try
...
Рейтинг: 0 / 0
Проверка допустимости XML
    #32958573
Один1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Навскидку - невидно где собственно загружается XML
...
Рейтинг: 0 / 0
Проверка допустимости XML
    #32958605
Фотография Abdul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всё получилось
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка допустимости XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]