Перейти к содержимому

Фотография
- - - - -

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


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
Сообщений в теме: 9

#1 glinda

glinda

    Прохожий

    Топикстартер
  • Участник
  • 0
    10 сообщ.

Отправлено 09 Май 2010 в 20:14

День добрый. Помогите решить такую проблему:
Есть 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 - нет.

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

Спонсор

#2 trueW3C

trueW3C

    Поклонник Yii

  • Участник
  • 195
    847 сообщ.

Отправлено 09 Май 2010 в 20:15

Первый раз такое вижу... :blink:
  • 0

#3 glinda

glinda

    Прохожий

    Топикстартер
  • Участник
  • 0
    10 сообщ.

Отправлено 09 Май 2010 в 20:20

Первый раз такое вижу... :blink:


Вернее не читается XML файл (там где должны быть значения - пусто)
  • 0

#4 tigra60

tigra60

    Спасатель

  • V.I.P.
  • 1287
    1 990 сообщ.

Отправлено 09 Май 2010 в 20:38

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

#5 glinda

glinda

    Прохожий

    Топикстартер
  • Участник
  • 0
    10 сообщ.

Отправлено 09 Май 2010 в 20:57

А второй файл, вообще, на каком языке написан?
Небось какое-нибудь очередное дополнение попрание стандартов от дядюшки Билли?
Как обладатель сертификата по 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>

  • 0

#6 tigra60

tigra60

    Спасатель

  • V.I.P.
  • 1287
    1 990 сообщ.

Отправлено 09 Май 2010 в 21:11

подскажите в каком направлении копать

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

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

#7 glinda

glinda

    Прохожий

    Топикстартер
  • Участник
  • 0
    10 сообщ.

Отправлено 10 Май 2010 в 06:43

подскажите в каком направлении копать

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

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


Не секрет, делаю несложную админку.
  • 0

#8 tigra60

tigra60

    Спасатель

  • V.I.P.
  • 1287
    1 990 сообщ.

Отправлено 10 Май 2010 в 10:53

делаю несложную админку

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

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

#9 glinda

glinda

    Прохожий

    Топикстартер
  • Участник
  • 0
    10 сообщ.

Отправлено 15 Май 2010 в 17:41


подскажите в каком направлении копать

В направлении 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

........
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>

  • 0

#10 tigra60

tigra60

    Спасатель

  • V.I.P.
  • 1287
    1 990 сообщ.

Отправлено 15 Май 2010 в 19:26

Насколько я понял, этот Ваш 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 слышу первый раз и не могу знать, как правильно этот метод называется и есть ли он там вообще. Потому предлагаю только направление решения проблемы.

Удачи!

Сообщение отредактировал tigra60: 15 Май 2010 в 19:33

  • 1



Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение
Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей