Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2014, 14:09   #1
ivt22
Пользователь
 
Регистрация: 23.07.2013
Сообщений: 81
По умолчанию Связь html & XML?

Добрый день. Я никогда не работал с XML документами начал читать статьи как связывать их с ШТМЛ. Но у меня ничего не получается. Может быть как и Php нужно просматривать готовый вариант на сервере? Сейчас я с домашнего компьютера открываю связные документы но ничего не происходит.. Вот код. Подскажите пожалуйста.

автор
Код HTML:
<?xml version="1.0" encoding="windows-1251" ?>

<!-- Имя файла: Inventory.xml -->

<INVENTORY>
<BOOK>
<TITLE>The Adventures of Huckleberry Finn</TITLE>
<AUTHOR>Mark Twain</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>298</PAGES>
<PRICE>$5.49</PRICE>
</BOOK>
<BOOK>
<TITLE>Leaves of Grass</TITLE>
<AUTHOR>Walt Whitman</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>462</PAGES>
<PRICE>$7.75</PRICE>
</BOOK>
<BOOK>
<TITLE>The Legend of Sleepy Hollow</TITLE>
<AUTHOR>Washington Irving</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>98</PAGES>
<PRICE>$2.95</PRICE>
</BOOK>
<BOOK>
<TITLE>The Marble Faun</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>473</PAGES>
<PRICE>$10.95</PRICE>
</BOOK>
<BOOK>
<TITLE>Moby-Dick</TITLE>
<AUTHOR>Herman Melville</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES>724</PAGES>
<PRICE>$9.95</PRICE>
</BOOK>
<BOOK>
<TITLE>The Portrait of a Lady</TITLE>
<AUTHOR>Henry James</AUTHOR>
<BINDING>mass market paperback</BINDING>
<PAGES>256</PAGES>
<PRICE>$4.95</PRICE>
</BOOK>
<BOOK>
<TITLE>The Scarlet Letter</TITLE>
<AUTHOR>Nathaniel Hawthorne</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>253</PAGES>
<PRICE>$4.25</PRICE>
</BOOK>
<BOOK>
<TITLE>The Turn of the Screw</TITLE>
<AUTHOR>Henry James</AUTHOR>
<BINDING>trade paperback</BINDING>
<PAGES>384</PAGES>
<PRICE>$3.35</PRICE>
</BOOK>
</INVENTORY>
автор
Код HTML:
<HTML>

<HEAD>
<TITLE>Book Inventory</TITLE>
</HEAD>

<BODY>

<XML ID="dsoInventory" SRC="Inventory.xml"></XML>

<H2>Book Inventory</H2>

<TABLE DATASRC="#dsoInventory" BORDER="1" CELLPADDING="5">
<THEAD>
<TH>Title</TH>
<TH>Author</TH>
<TH>Binding</TH>
<TH>Pages</TH>
<TH>Price</TH>
</THEAD> 
<TR ALIGN="center">
<TD><SPAN DATAFLD="TITLE" 
STYLE="font-style:italic"></SPAN></TD>
<TD><SPAN DATAFLD="AUTHOR"></SPAN></TD>
<TD><SPAN DATAFLD="BINDING"></SPAN></TD>
<TD><SPAN DATAFLD="PAGES"></SPAN></TD>
<TD><SPAN DATAFLD="PRICE"></SPAN></TD>
</TR>
</TABLE>

</BODY>

</HTML>

Последний раз редактировалось Stilet; 21.07.2014 в 14:11.
ivt22 вне форума Ответить с цитированием
Старый 21.07.2014, 15:16   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Лампочка

Используйте XSLT и будет Вам счастье.
В помощь:
XSLT
XSLT Tutorial
XML и XSLT в примерах для начинающих
Streletz вне форума Ответить с цитированием
Старый 22.07.2014, 05:05   #3
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Вот как пример....

Код:
<?php 
$file = "http://news.yandex.ru/hardware.rss"; 
header('Content-Type: text/html; charset=utf-8');
$XML = file_get_contents($file); 
if(!$XML) continue; 
$ITEMS = GetXMLAllVal($XML, 'item'); 
foreach($ITEMS as $item){ 
$title = GetXMLFirstVal($item, 'title'); 
$link = GetXMLFirstVal($item, 'link'); 
$text = GetXMLFirstVal($item, 'description'); 
$date = GetXMLFirstVal($item, 'pubDate'); 
$title = html_entity_decode($title, ENT_QUOTES); 
$text = html_entity_decode($text, ENT_QUOTES); 
print("<em><a href=\"$link\" style=\"text-decoration: none\" >".$title."</a></em> &nbsp;&nbsp;<i>".$date."<br /><hr color=\"#CCCCCC\" />".$text."<br /><hr color=\"#CCCCCC\" /><br /><br />"); 
} 
function GetXMLFirstVal($r,$t) { 
if(preg_match_all('/<('.$t.')[^>]{0,}>(.*)<\/\\1>/Usi',$r,$o)) return $o[2][0]; 
return ''; 
}
отображает новости с яндекса..
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 23.07.2014, 11:02   #4
ivt22
Пользователь
 
Регистрация: 23.07.2013
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Используйте XSLT и будет Вам счастье.
В помощь:
XSLT
XSLT Tutorial
XML и XSLT в примерах для начинающих
Вот это чушь полная. Первый же пример в книжке:
Цитата:
Если мы теперь откроем файл ex01-1.xsl в браузере Internet Explorer, то мы увидим, что наша задача решена, - на экране осталась только необходимая нам информация, все теги исчезли. Результат, который вы получите на экране браузера, приведен ниже.



"Заметки об XSL"

Леонов Игорь Васильевич
Вот что выводит браузер:

Я конечно понимаю, что я что-то видимо неправильно сделал, но я же не могу залезть в голову автору и посмотреть сколько же я еще должен дополнительных условий сделать, чтобы эта хреновня заработала. Я сделал все логично, а потом даже тупу скопировал оба файла в одну папку и нажал открыть с помощью googleChrome InternetExplorer но это оказалось полной чушью.


По поводу второго ответа про Яндекс новости. Спасибо вам, но мне все равно так не разобраться. Задача у меня стоит примерно такая. Есть файл допустим просто .txt и в html файле нужно вывести допустим 5-ую строку из этого txt файла. Я думаю что лучше всего это сделать через JavaScript но я и с ним не знаком, мне нужно найти конкретный пример где я смогу только значения под свои изменить. А в XML я хотел организовать свой файл с нужными значениями и выводить эти значения в HTML. но XML оказался такой вещью с которой видимо прежде чем начать работать нужно обладать какиме-то тайными знаниями о которых в учебниках не говорят, но видимо большинство о них знает, но молчит.
ivt22 вне форума Ответить с цитированием
Старый 23.07.2014, 18:10   #5
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от ivt22 Посмотреть сообщение
Я конечно понимаю, что я что-то видимо неправильно сделал, но я же не могу залезть в голову автору и посмотреть сколько же я еще должен дополнительных условий сделать, чтобы эта хреновня заработала. Я сделал все логично, а потом даже тупу скопировал оба файла в одну папку и нажал открыть с помощью googleChrome InternetExplorer но это оказалось полной чушью.
XSLT нормально работает. Другое дело, что почему-то Вы судите о технологии на основе её неправильного использования Вами.
Качество книги, к сожалению, во многом зависит от квалификации автора. Но даже если она и содержит некоторые неточности или недочёты, то не а ней же единственной свет клином сошёлся.
Есть другие книги, есть интернет ресурсы.
Цитата:
Сообщение от ivt22 Посмотреть сообщение
мне нужно найти конкретный пример где я смогу только значения под свои изменить.
В этом подходе и кроется Ваша проблема. Вы хотите реализовать достаточно сложную вещь, но при этом у Вас, судя по всему, нет желания самому вникать в то, что для этого необходимо. Что, в прочем, вполне естественно. Готовое использовать всегда проще.
В таком случае Вам, вероятнее всего, поможет только гугл. Возможно, в нём Вы найдёте готовый пример, конкретно, для Вашей задачи.
Простите, я совершенно не хочу Вас обидеть и, тем более, читать Вам мораль. Просто, предполагаю, что объяснять и подталкивать к правильному решению, в данном случае не имеет смысла (надеюсь, что я ошибаюсь). Тем более, если учесть, что на Ваш вопрос уже были даны целых 2 ответа.
Streletz вне форума Ответить с цитированием
Старый 24.07.2014, 14:42   #6
ivt22
Пользователь
 
Регистрация: 23.07.2013
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
XSLT нормально работает. Другое дело, что почему-то Вы судите о технологии на основе её неправильного использования Вами.
Качество книги, к сожалению, во многом зависит от квалификации автора. Но даже если она и содержит некоторые неточности или недочёты, то не а ней же единственной свет клином сошёлся.
Есть другие книги, есть интернет ресурсы.
В этом подходе и кроется Ваша проблема. Вы хотите реализовать достаточно сложную вещь, но при этом у Вас, судя по всему, нет желания самому вникать в то, что для этого необходимо. Что, в прочем, вполне естественно. Готовое использовать всегда проще.
В таком случае Вам, вероятнее всего, поможет только гугл. Возможно, в нём Вы найдёте готовый пример, конкретно, для Вашей задачи.
Простите, я совершенно не хочу Вас обидеть и, тем более, читать Вам мораль. Просто, предполагаю, что объяснять и подталкивать к правильному решению, в данном случае не имеет смысла (надеюсь, что я ошибаюсь). Тем более, если учесть, что на Ваш вопрос уже были даны целых 2 ответа.

Просто в книге не указаны заклинания, которые нужно произносить чтобы все заработало. Вы же сами видите на скрине постом выше вместо странички с текстом вылезает страничка с тегами. В книге написано создайте файл XML напишите там то-то, затем создайте файл xslt напишите то-то и все любуйтесь работой. С этим даже 90-то летняя бабушка справился бы если бы не существовало дополнительных заклинаний, которые заставляли бы технологию заработать, о которых в книге ничего не сказано. А что бы выполнить мою "сложную задачу" достаточно что бы хотя бы первый пример в книге работал без волшебства. Или узнать как с помощью JAVASCRIPT прочитать допустим 7-ю строчку в текстовом файле и записать её в HTML...
ivt22 вне форума Ответить с цитированием
Старый 24.07.2014, 15:25   #7
ivt22
Пользователь
 
Регистрация: 23.07.2013
Сообщений: 81
По умолчанию

или даже есть вот такой фрейм, можно ли оттуда прочитать допустим 4 строчку и вывести ее на ШТМЛ страничку внутри которой этот фрейм??? Тогда как раз получиться что данные прочитаны из txt файла.

<iframe src="il.txt"></IFRAME>
ivt22 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML & MySQL DATA37 SQL, базы данных 6 07.11.2012 17:09
Замена амперсанда html-последовательностью &amp; TrydORgolik PHP 2 12.03.2012 11:33
Как убрать замену символьных ссылок(&#xD;&#xA; и т.д.) при сериализации(печати) xml? hard-t JavaScript, Ajax 0 19.01.2012 09:50
Вопрос по поводу меню на сайте, html&css&js antoxa22 HTML и CSS 14 30.12.2011 11:02