#html #xml
#HTML #xml
Вопрос:
Привет, я пытаюсь отобразить XML-данные на HTML-странице.
У меня нет никаких проблем с простыми XML-файлами, такими как:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Проблема заключается в более сложных, таких как:
<?xml version="1.0"?>
<!DOCTYPE addressbook SYSTEM "addressbook.dtd">
<addressbook>
<contact>
<name>Evren Ozturk</name>
<address>Adress here!</address>
<city>Varna</city>
<zip>35500</zip>
<phone>
<mobile>0999999999</mobile>
<landline>232-000-1234</landline>
<fax>232-000-1234</fax>
</phone>
<email>blaa@live.com </email>
<company>Asis Bg</company>
</contact>
</addressbook>
В этом примере я вижу это: имя, адрес, город, почтовый индекс, электронная почта, компания.
Но я не вижу значений мобильного, стационарного телефона и факса.
Вот коды, которые я использую для отображения данных:
<HTML>
<HEAD>
<title>Evren Ozturk</TITLE>
</HEAD>
<BODY>
<XML id="addressbook" src="addressbook.xml"></XML>
<!--XML DATA BOUND TABLE-->
<table DATASRC="#addressbook" >
<tr><thead bgcolor=tan>
<th>name</th>
<th>address</th>
<th>city</th>
<th>zip</th>
<th>mobile</th>
<th>landline</th>
<th>fax</th>
<th>email</th>
<th>company</th></thead>
</tr>
<tr>
<td><input DATAFLD="name"></input></td>
<td><input DATAFLD="address"></input></td>
<td><input DATAFLD="city"></input></td>
<td><input DATAFLD="zip"></input></td>
<td><input DATAFLD="mobile"></input></td>
<td><input DATAFLD="landline"></input></td>
<td><input DATAFLD="fax"></input></td>
<td><input DATAFLD="email"></input></td>
<td><input DATAFLD="company" ></input></td>
</tr>
</table>
<hr color=SteelBlue width=500 height=5 align=left>
</BODY>
</HTML>
Вот SS для результата этих кодов:
Из-за того, что я новый пользователь, я не могу опубликовать картинку 8D, поэтому я открыт для точек 8P
Мне теперь не нужно быть мобильным и Т.Д. Внутри телефона, но куда бы я ни посмотрел: я только что видел одни и те же простые примеры. Я просто хочу сделать это таким образом 8) Если вы сможете мне помочь, это действительно будет здорово. Спасибо, что уделили свое время.
Комментарии:
1. Похоже, вы пытаетесь использовать XML-острова данных. Не делайте этого. Это проприетарная и нестандартная функция MSIE, которая не получила широкого признания. Обработайте данные с помощью языка программирования (предпочтительно в программе, которая выполняется на сервере) и выведите вместо этого HTML.
2. Я бы посоветовал ознакомиться с XSL.
3. Спасибо за советы… До этого я использовал AvtiveX для отображения xml следующим образом: Artists = XML.getElementsByTagName(«Исполнитель»); Artists[Person].childNodes(1).text Просто пытаюсь использовать эти коды, которые я ввел в вопросе, это выглядит как более простой способ.
4. ActiveX — это другая проприетарная и нестандартная функция MSIE, за исключением того, что она не может получить широкого признания (поскольку она явно построена на коде, скомпилированном для Windows). Серьезно — выберите что-нибудь на стороне сервера.
Ответ №1:
Быстрое и грязное решение — поместить ваш xml в тег HTML <pre>
. Это отображает любой содержащийся текст «как есть», сохраняя форматирование, разрывы строк, пробелы и т.д.
Ответ №2:
Я нашел решение:
<HTML>
<HEAD>
<title>Shenay Ozturk</TITLE>
</HEAD>
<BODY>
<XML id="addressbook" src="addressbook.xml"></XML>
<table cellpadding="0" cellspacing="0" DATASRC="#addressbook">
<tr>
<td>
<table >
<tr><td>
<thead bgcolor=#AAAAFF>
<th width="50">name</th>
<th width="50">address</th>
<th width="50">city</th>
<th width="50">zip</th>
</thead>
</td></tr>
<tr>
<td><input DATAFLD="name"></input></td>
<td><input DATAFLD="address"></input></td>
<td><input DATAFLD="city" ></input></td>
<td><input DATAFLD="zip"></input></td>
</tr>
</table>
</td>
<td>
<table DATASRC="#addressbook" DATAFLD="phone" >
<tr><td>
<thead bgcolor=#AAAAFF>
<th width="50">mobile</th>
<th width="50">landline</th>
<th width="50">fax</th>
</thead>
</td></tr>
<tr>
<td><INPUT DATAFLD="mobile" ></INPUT></td>
<td><input DATAFLD="landline" ></input></td>
<td><input DATAFLD="fax" ></input></td>
</tr>
</table>
</td>
<td>
<table >
<tr><td>
<thead bgcolor=#AAAAFF>
<th width="50">email</th>
<th width="50">company</th>
</thead>
</td></tr>
<tr>
<td><input DATAFLD="email"></input></td>
<td><input DATAFLD="company" ></input></td>
</tr>
</table>
</td>
</tr>
</table>
<hr color=SteelBlue width=500 height=5 align=left>
HTML close bla bla....