Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WEB_-_sessia_100.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
207.55 Кб
Скачать

Xml файлдың мысалы:

<?xml version="1.0" ?>

<bookstore>

<book genre="history" style="hardcover">

<title>Vietnam</title>

<autor>

<first_name>Michael</first_name>

<last_name>Avery</last_name>

</autor>

<price>6.99</price>

</book>

<book genre="Роман" style="Художественный">

<title>Дети капитана Гранта</title>

<autor>

<first_name>Жюль</first_name>

<last_name>Верн</last_name>

</autor>

<price>1055.50</price>

</book>

<title>Дети капитана Гранта</title>

<autor>

<first_name>Жюль</first_name>

<Last_name>Верн</Last_name>

</autor>

<price>10.55</price>

</book>

</bookstore>

Листингтан көрініп тұрғандай XML файл құрылымдалған тармақтық дескрипторлардан тұрады. Бірінші қатар- құжаттың тақырыбы- XML файлдың синтаксистік дұрыстығының ажырамас бөлігі, ол әрқашан «<?xml version="1.0" ?>» түрде болады. Кейіннен біз екі дескрипторды көреміз <Book>, әрқайсысының өзіндік атрибуттары бар – жанр (genre) және стиль (style) және әртүрлі мінездемелері – атауы (title), автор (author) және баға (price). Фактілік мәліметтер ішіне енгізілген. Көптеген мәліметтер дескриптормен шектелген <bookstore>, осы мәліметтер жиынынн көрсететін. Мәліметтерді осындай жолман көрсету құжат бұтағы (document tree) немесе мәліметтер бұтағы (data tree) деп аталады.

50. Asp.Net ортасында xml құжаттарын қолдану.

XML-ге ASP.NET құрылғыларымен ену.

XML-ді оқу

XmlTextReader класы XML – файлының қатар мазмұнының жеңіл әрі қарапайым механизмін көрсетеді. Мәліметтер көзінің өткен жазбаларын қолданбай алдыңғы бағытта ғана оқуды іске асыратын OleDbDataReader класқа ұқсас. XML – файлады ашу үшін XMLTextReader класс обьектісін құрып оның атын енгізген жеткілікті. Сонымен қатар файлға толық жолды көрсету керек. Оны Server.MapPath әдісін қолдану арқылы жасауға болады. Мәліметтерді оқу үшін Read() әдісін қолдануға болады.

Мысал:

Dim reader As System.Xml.XmlTextReader

Try

reader = New System.Xml.XmlTextReader(Server.MapPath("books2.xml"))

While reader.Read()

Response.Write("<b>" & reader.Name & "</b> " &

reader.Value & "<br>")

End While

Label1.Text = "OK"

Catch

Label1.Text = "Error"

End Try

reader.Close()

Мұнда бірінші қатарда XMLTextReader класс обьектісі анықталады. Кейінгі іс-әрекеттер Try блогынақоршалған (ASP.NET сыртқы ресурстарына барғанда осы операторды қолдау керек). 3-қатарда XML-файл ашылады. Бұл жағдайда біздің XML-файл оны қолданатын Web қосымша орналасқан каталогте орналасады. Синтаксис жолдың толық бағытын көрсетуді талап еткендіктен, Server.MapPath әдісі қабылдау үшін қолданылады.

Одан кейін Read() әдісі XML-файлдың барлық жазбаларын қатарымен циклімен оқиды. Сосын HTML браузерге жіберілетін name және value мәліметтерден тұратын қатары формаланады. Соңында reader обьектісін жабамыз.

XML-ге жазба

XML-файлға жазу үшін XMLTextWriter класы қолданылады. Бұл класта жазбаны жүзеге отырғызу үшін Write әдісінен тұрады.

Мысал:

1. Dim writer As System.Xml.XmlTextWriter

2. Try

3. writer= New System.Xml.XmlTextWriter(Server.MapPath("books2.xml"), Nothing)

4. writer.WriteStartDocument()

5. writer.Formatting = System.Xml.Formatting.Indented

6. writer.Indentation = 3

7. writer.WriteStartElement("bookstore")

8. writer.WriteStartElement("book")

9. writer.WriteAttributeString("genre", "history")

10. writer.WriteAttributeString("style", "hardcover")

11. writer.WriteElementString("title", "Vietnam")

12. writer.WriteStartElement("autor")

13. writer.WriteElementString("first_name", "Michael")

14. writer.WriteElementString("last_name", "Avery")

15. writer.WriteEndElement()

16. writer.WriteElementString("price", "699.99")

17. writer.WriteEndElement()

18. writer.WriteStartElement("book")

19. writer.WriteAttributeString("genre", "Роман")

20. writer.WriteAttributeString("style", "Художественный")

21. writer.WriteElementString("title", "Дети капитана Гранта")

22. writer.WriteStartElement("autor")

23. writer.WriteElementString("first_name", "Жюль")

24. writer.WriteElementString("last_name", "Верн")

25. writer.WriteEndElement()

26. writer.WriteElementString("price", "1055.50")

27. writer.WriteEndElement()

28. writer.WriteEndElement()

29. writer.Flush()

30. Catch ex As Exception

31. Response.Write("Error")

32. End Try

33. writer.Close()

34. Label1.Text = "finish"

Бұл листингтің құрылымы XMLTextReader класына арналған мысалға ұқсас. Writer обьектісін анықтаймыз, бірінші қатарда және қалған операторларды Try блогына бекітеміз. writer обьектісін инициалдау 2-қатарда болады. Инициалдаудың бірінші параметрі болып жазба енгізілетін файл аты, ал екіншісі кодирвка түрі (UTF-8 үнсіздік бойынша). Егер берілген атпен файл жоқ болса, ASP.NET оны құрады. Кері жағдайда берілген файл қолданылады.

4-қатарда анықталу қатары файлға жазылады. «<?xml version="1.0" ?>». Бұл қатарда құрылатын файлдың сыртқы түрі түзетіледі: 5-қатарда блоктар абзацты белгілеуін анықтайды, 6-олардың биіктігі беріледі. (3 пробел)

7-қатардан мәліметтер генерациясы басталады. Методы WriteStartElement және WriteEndElement әдістері ашу және жабу дескрипторлар генерациясы үшін.

9 және 10 қатарда <book> элементінің genre және style атрибуты құрылады және WriteAttributeString әдісі көмегімен оларға мән беріледі.

WriteElementString әдісі алғашқы параметрмен анықталатын ашатын және жабатын дескрипторларды жазады жән олардың арасында екінші параметрдің қатарлық мәнін енгізеді

29 қатардағы барлық дескрипторларды жапқаннан кейін, обьекттің барлық мазмұны файлға жазылады. Осыдан кейін 33 қатарда writer обьектісін жабамыз.

XML-дің дұрыстығын тексеру.

XML-файл синтаксистік-дұрыс формада болуы керек, себебі мәліметтерді көрсетудің әмбебап тілі ретінде қарастырылады, кері жағдайда одан басқаларды күту қиын.

ASP.NET сұлбамен оған келтірілген немесе құжат типімен анықталған (Document Type Definition немесе DTD)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]