Покажите немного сложных xml-данных в HTML с помощью

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