Связывание XML и HTML

Статус
Закрыто для дальнейших ответов.

glinda

Member
Регистрация
01.05.2010
Сообщения
10
День добрый. Помогите решить такую проблему:
Есть XML файл /Book.xml/ откуда берутся данные

Код:
<?xml version="1.0" encoding="windows-1251" ?>
<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.html/ где должны выводится данные из предыдущего файла.


Код:
<HTML>

<HEAD>
   <TITLE>Book Description</TITLE>
</HEAD>

<BODY>

   <XML ID="dsoBook" SRC="Book.xml"></XML>
   
   <H2>Book Description</H2>
 
   <SPAN STYLE="font-style:italic">Title: </SPAN>
   <SPAN STYLE="font-weight:bold" DATASRC="#dsoBook" 
      DATAFLD="TITLE"></SPAN>      
   <BR>
   <SPAN STYLE="font-style:italic">Author: </SPAN>
   <SPAN DATASRC="#dsoBook" DATAFLD="AUTHOR"></SPAN>      
   <BR>
   <SPAN STYLE="font-style:italic">Binding type: </SPAN>
   <SPAN DATASRC="#dsoBook" DATAFLD="BINDING"></SPAN>      
   <BR>
   <SPAN STYLE="font-style:italic">Number of pages: </SPAN>
   <SPAN DATASRC="#dsoBook" DATAFLD="PAGES"></SPAN>      
   <BR>
   <SPAN STYLE="font-style:italic">Price: </SPAN>
   <SPAN DATASRC="#dsoBook" DATAFLD="PRICE"></SPAN>      

</BODY>
</HTML>

Всё прекрасно работает в IE, а вот в Mozille&Opera - нет.

Как сделать вариант работающим в этих браузерах?
 

trueW3C

Поклонник Yii
Регистрация
04.03.2009
Сообщения
847
Первый раз такое вижу... :blink:
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
А второй файл, вообще, на каком языке написан?
Небось какое-нибудь очередное дополнение попрание стандартов от дядюшки Билли?
Как обладатель сертификата по HTML от Интернет Университета, авторитетно заявляю, что элемент SPAN не имеет атрибутов DATASRC и DATAFLD.
Обычно в таких случаях применяют РНР или javascript парсер (DOM-разборщик) для XML.
 

glinda

Member
Регистрация
01.05.2010
Сообщения
10
А второй файл, вообще, на каком языке написан?
Небось какое-нибудь очередное дополнение попрание стандартов от дядюшки Билли?
Как обладатель сертификата по HTML от Интернет Университета, авторитетно заявляю, что элемент SPAN не имеет атрибутов DATASRC и DATAFLD.
Обычно в таких случаях применяют РНР или javascript парсер (DOM-разборщик) для XML.
Я где-то на просторах инета учебник читал, там именно для связки XML и HTML применяют DATASRC.
РНР правильней применять в этом случае согласен, подскажите в каком направлении копать если: есть форма (на HTML), откуда данные введённые пользователем записываются в XML файл (реализовано), но хотелось что бы при запуске формы в полях куда вводится пользователем текст отображался бы параметр который в настояшее время в XML записан? Т.е. пользователь ввёл /йцукен/ это и записалось в XML, при следующем запуске формы в поле, для ввода данных, отображалось бы /йцукен/?
Код:
<div style="width:100%">
   
    <form name="form1" method="post" action="addxml.php "> <!-- в addxml происходит запись в XML файл -->
	Изображение
	<br>
	<input type="text" name="main-picture">
	</label>
	<p>Заголовок
	<label>
	<br>
	<input type="text" name="main-header">
	</label>
	</p>
	<p>Основной текст
	<label>
	<br>
	<textarea name="main-content" cols="40" rows="5"></textarea>
	</label>
	</p><p>
	<label>
	<input type="submit" name="Submit2" value="Сохранить">
	</label>
	</p>
	</form>
    </div>
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
подскажите в каком направлении копать
В направлении Ajax. У этого чуда работа с XML даже в названии заложена.
А скажите, если не секрет, для чего Вам эта головная боль под именем XML.

Чем парсить XML - трудиться
Не лучше ли к JSON оборотиться? :rolleyes:
 

glinda

Member
Регистрация
01.05.2010
Сообщения
10
подскажите в каком направлении копать
В направлении Ajax. У этого чуда работа с XML даже в названии заложена.
А скажите, если не секрет, для чего Вам эта головная боль под именем XML.

Чем парсить XML - трудиться
Не лучше ли к JSON оборотиться? :rolleyes:
Не секрет, делаю несложную админку.
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
делаю несложную админку
А Вы что, в файлах информацию храните?
Рекомендую отказаться от этого и воспользоваться базой данных!
Великий и могучий SQL все будет за Вас делать.
Например, создаете таблицу books с полями
- id (идентификатор - ключевое поле)
- title
- author
- binding
- pages
- prise
И затем, с помощью несложных запросов вертите данными, как Вам угодно.
PHP + MySQL - это сила!!!

В противном случае, будете блуждать в чаще XML деревьев, пока не станете настоящим содовоDOM. :rolleyes:
 

glinda

Member
Регистрация
01.05.2010
Сообщения
10
подскажите в каком направлении копать
В направлении Ajax. У этого чуда работа с XML даже в названии заложена.
А скажите, если не секрет, для чего Вам эта головная боль под именем XML.

Чем парсить XML - трудиться
Не лучше ли к JSON оборотиться? :rolleyes:
Не секрет, делаю несложную админку.
Спасибо.
Реализовал с помощью набора Spry данных
......
var DataNews = new Spry.Data.XMLDataSet("admin/IPBOX/myxml.xml", "PAGES/NEWS");
......
<div spry:region="DataNews">{HEADER}</div> <!-- здесь вывод XML данных -->

подскажите в каком направлении копать
В направлении Ajax. У этого чуда работа с XML даже в названии заложена.
А скажите, если не секрет, для чего Вам эта головная боль под именем XML.

Чем парсить XML - трудиться
Не лучше ли к JSON оборотиться? :rolleyes:
Не секрет, делаю несложную админку.
Спасибо.
Реализовал с помощью набора Spry данных
......
var DataNews = new Spry.Data.XMLDataSet("admin/IPBOX/myxml.xml", "PAGES/NEWS");
......
<div spry:region="DataNews">{HEADER}</div> <!-- здесь вывод XML данных -->

Можно ещё вопрос по теме:
Есть простая форма form.html (пользователь вводит данные), далее данные записываются в XML. Из XML происходит вывод index.html
Проблема собственно в том, чтобы организовать предварительный вывод XML данных в html форму. Т.е. что бы пользователь при вводе информации видел значения полей в XML файле. Сейчас я вывожу данные перед полем ввода, а как непосредственно в поле вывести?
Конструкция value=<div spry:region="DataNews">{HEADER}</div> - неверна.

form.html
HTML:
........
var DataNews = new Spry.Data.XMLDataSet("admin/IPBOX/myxml.xml", "PAGES/NEWS");
.......
<form name="form1" method="post" action="addxml.php ">
    <p>Заголовок
    <label>
    <br>
<div spry:region="DataNews">{HEADER}</div> <!-- здесь вывод XML данных -->
    <input type="text" name="main-header">
    </label>
    <p>Подзаголовок
    <label>
    <br>
    <input type="text" name="main-subtitle">
    </label>
    </p>
    <p>Основной текст
    <label>
    <br>
   
    <textarea name="main-content" cols="40" rows="5"></textarea>
    </label>
    </p><p>
    <label>
    <input type="submit" name="Submit2" value="Сохранить">
    </label>
    </p>
    </form>
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Насколько я понял, этот Ваш Spry - какой-то javascript класс?
Тогда у него должен быть метод для получения содержимого XML тега - что-то типа get_value(tag)
Код:
var DataNews = new Spry.Data.XMLDataSet("admin/IPBOX/myxml.xml", "PAGES/NEWS");
var main-header = DataNews.get_value('main-header'); // получаем содержимое тега main-header
В таком случае Вы можете с помощью javascrupt просто присвоить эти значения соответствующим элементам формы:
Код:
document.forms['form1'].main-header.value = main-header;
Прошу обратить внимание, что get_value(tag) - это только предполагаемое мной имя метода. Я о Spry слышу первый раз и не могу знать, как правильно этот метод называется и есть ли он там вообще. Потому предлагаю только направление решения проблемы.

Удачи!
 
Статус
Закрыто для дальнейших ответов.
Верх Низ