Пример: можно ли это сделать на PHP, JQuery или Ajax.Вытащить разные структурированные XML-файлы и отобразить их на одной странице одновременно! - PullRequest
0 голосов
/ 20 февраля 2011

спасибо заранее за тех, кто уделит свое время ответу на этот вопрос.

Я пытаюсь отобразить две внешние данные XML на своей странице.Допустим, вымышленное расположение этих XML-файлов - www.ExampleDomain1.com/xml-1.xml и www.ExampleDomain2.com/xml-2.xml соответственно.Два XML имеют разные теги элементов, но имеют общее содержимое, вот пример:

XML-1.xml

<property>
 <type>SP</type>
 <subtype>Apartment</subtype>
 <refno>011248</refno>
 <title>Fantastic Facilities!</title>
 <description> Offering this fantastic 2 bedroom apartment set within this popular building in The Views. The property offers in excess of 1450sqft of internal living space comprising of two double bedrooms (en-suite to master),  fitted kitchen with integrated appliances, main bathroom and spacious lounge/diner leading onto a good size balcony with partial views of the golf course and views of the Marina skyline.
 </description>
 <size>1458</size>
 <sizeunits>SqFt</sizeunits>
 <price>1525000</price>
 <pricecurrency>AED</pricecurrency>
 <totalclosingfee>1525000</totalclosingfee>
 <bedrooms>2</bedrooms>
 <bathrooms>2</bathrooms>
 <locationtext>The Views</locationtext>
 <locationlat>25.090200</locationlat>
 <locationlon>55.170200</locationlon>
 <developer>0</developer>
 <lastupdated>2011-02-18 20:15:08</lastupdated>
 <photos>
  <photo>
http://www.ExampleDomain1.com/images/med_imgga94jqe351494b66b20eaec11fe501f5bdf797f4.jpg
  </photo>
  <photo>
http://www. ExampleDomain1.com/images/med_imgga94l1maf3ccdd27d2000e3f9255a7e3e2c48800.jpg
  </photo>
 </photos>
</property>

XML-2.xml

<listings>
 <category>SP</category>
 <subcategory>Apartment</ subcategory >
 <reference>011250</reference>
 <title>Fantastic Facilities!</title>
 <description> A fantastic 1 bedroom apartment in the exclusive Downtown area. The property offers 850 sq.ft. of internal living space. Fantastic layout and personalized design. Externally the property has an easy accessible carport with parking for one. 
 </description>
 <size>1200</size>
 <unitsize>SqFt</ unitsize >
 <price>905000</price>
 <currency>AED</currency>
 <closingfee>1525000</closingfee>
 <bedrooms>2</bedrooms>
 <bathrooms>2</bathrooms>
 <location> Downtown </location>
 <locationlon>55.170200</locationlon>
 <developer>0</developer>
 <updated>2011-02-18 20:15:08</updated>
 <photos>
   <photo> http://www.ExampleDomain2.com/images/med_imgga94jqe351494b66b20eaec11fe501f5bdf797f4.jpg
   </photo>
   <photo> http://www. ExampleDomain2.com/images/med_imgga94l1maf3ccdd27d2000e3f9255a7e3e2c48800.jpg
    </photo>
 </photos>
</listings>

Из приведенного выше примера ясно видно, что теги XML различаются по-разному, хотя оба имеют одинаковые содержание .Кто-то скажет, почему бы не очистить XML перед его извлечением?Проблема в том, что оба XML-файла были созданы проприетарным программным обеспечением, которое не имеет возможности манипулировать выводом.Поэтому сопоставление тегов элементов в первую очередь невозможно, кроме того, для меня будет огромной задачей, если я сделаю это вручную, особенно если данные большие.

Чтобы усложнить задачу, я хочу получить оба XML-файла и отобразить оба результата вместе на одной странице.Я хочу загрузить оба XML-файла одновременно и отобразить их в результатах поиска.

Я жгла глаза уже неделю, и самый близкий пример кода, который я нашел, это http://net.tutsplus.com/tutorials/javascript-ajax/use-jquery-to-retrieve-data-from-an-xml-file/.Проблема с этим примером кода состоит в том, что он загружает только один XML из локального каталога.Что если я хочу загрузить много XML-файлов одновременно из внешнего источника?

Более подробно о том, чего именно я хочу достичь, это:

  1. Создайте форму поиска, которая получит оба XML-файла и отобразит их на одной странице.

  2. Отображение изображения в качестве примера кода из приведенного выше учебника отличается от имеющейся у меня структуры XML.

  3. Какое приложение я должен знатьвыполнить этот случай (PHP или JQuery или AJAX или их комбинация из трех?).

  4. Можно ли этого достичь, даже если XML-файлы не будут храниться в базе данных?

Будучи новичком в программировании PHP и просто следуя некоторым примерам сценариев Jquery, без вашей помощи описанная выше проблема займет у меня много времени, прежде чем я смог найти правильное решение.Я уверен в HTML и CSS, но не в программировании.

Не могли бы вы помочь мне указать путь, по которому мне нужно следовать ( примеры кодов )?Или есть кто-то гений, который может дать мне точные НАУЧНЫЕ коды, которые я ищу?

Большое спасибо,

Майк

1 Ответ

1 голос
/ 20 февраля 2011

Хорошо. Это кажется довольно сложным. Но на самом деле вы можете достичь этого с помощью среднего объема работы. Я не буду сейчас давать вам код или примеры, но покажу возможности, как вы можете решить эту проблему.

Перво-наперво. Вы можете сделать это только с помощью Javascript / jQuery. Это будет означать, что у клиента много работы и выборки, но это возможно.

Вы также можете сделать это с помощью комбинации PHP и JS. Это будет означать, что сервер будет выполнять тяжелую работу по извлечению и сопоставлению данных и отправке объединенного результата обратно клиенту.

Если это всегда одна и та же дата, PHP-решение имеет большое преимущество. Вы можете кэшировать объединенные данные, чтобы сэкономить время, сопоставляя XML каждый раз.

Подумайте, что будет работать лучше для вас, и мы поможем вам написать код для чего-то другого. (Просто чтобы прояснить: XML всегда выглядит как примеры, которые вы предоставили? Поля / теги в XML всегда одинаковы? Если не все, то все намного сложнее.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...