Как обрботать результат извлеченный из XML

php базы данных xml

Помогите решить проблему. Обрабатываю файл XML Примерно с таким содержанием:

<root>
<user id="5.7">
<UserID>1</UserID>
<RoomID>0003681456</RoomtID>
<UserLogin>MyLogin</UserLogin>
<tom>23</tom>
<part>5.7</part>
</user>
</root>

Результаты в итоге результаты вызываю таким образом: {UserID} - {RoomID} - {UserLogin} и так далее...
Проблема в том что эти результаты выводятся где угодно и как угодно но они не дружат с php либо я неправильно что-то делаю.

К этим результатам я хочу вывести дополнительно из базы, данные ID которых равен значению RoomID в моем XML.
При соединении к базе с условием WHERE ID = '{RoomID}' - этот метот оказался нерабочим. И почему я не понимаю.

Если допустим сделать:
$r = '{RoomID}'; echo $r - то это работает.

А если сделать:
$r = '{RoomID}' // {RoomID} тут буден равен 2.
$r2 = '2'
и сравнить эти данные методом if else то он выдает что эти значения не равны.

Что тут не так? Как можно добиться этого столь желаемого {RoomID} ?



Примечание:
По просьбе выкладываю приблизительный код.

<!DOCTYPE HTML>
<html xmlns:spry="http://ns.adobe.com/spry">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>TEST</title>
<script src="../SpryAssets/xpath.js" type="text/javascript"></script>
<script src="../SpryAssets/SpryData.js" type="text/javascript"></script>
<script type="text/javascript">
var ds1 = new Spry.Data.XMLDataSet("test.xml", "root/user", {sortOnLoad: "@id", sortOrderOnLoad: "ascending", useCache: false, loadInterval: 6000});
</script>
</head>

<body>
<div spry:region="ds1">
<table>
<tr>
<th spry:sort="UserID">UserID</th>
<th spry:sort="RoomID">RoomID</th>
<th spry:sort="UserLogin">UserLogin</th>
<th spry:sort="tom">Tom</th>
<th spry:sort="part">Part</th>
<th spry:sort="@id">Id</th>
</tr>
<tr spry:repeat="ds1">
<td>{UserID}</td>
<td>{RoomID}</td>
<td>{UserLogin}</td>
<td>{tom}</td>
<td>{part}</td>
<td>{@id}</td>
</tr>
</table>
</div>
</body>
</html>

Если этот код визуализировать то получиться что-то вроде:

UserID RoomID UserLogin Tom Part Id Доп.данные
1 0003681456 MyLogin 1 23 5.7 5.7 **********
2 0003681893 MyLogin 2 23 99.3 99.3 **********

Моя задача состоит в том чтобы вытащить доп. данные из базы MySQL. ID которых равен полученному значению RoomID.
При обычном коннекте к базе с условием WHERE id = RoomID. Выборка данных не происходит. В принципе вот как заставить это условие работать?
Ответы:
Код в студию. Подозреваю, что вы сравниваете объект типа DOMNode со строкой 2. Вам надо сравнивать свойство textContent объекта класса DOMNode со строкой '2'.
При выводе через echo DOMNode автоматически приводится к типу string, возвращая значение textContent. При сравнении же этого не происходит автоматически.
Так а где код получения данных из HTML/XML?
Скрипт сам скопируйте сюда :-)
Без него непонятно как и что вы пытаетесь сделать. Сама структура документа мало о чем говорит, кроме как о структуре документа.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.