Как спарсить строку из xml и записать в базу на php?

Пользователь

от gage , в категории: PHP , 2 года назад

Как спарсить строку из xml и записать в базу на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от krista , 2 года назад

@gage 

Для спарсивания строки из XML-файла на PHP вы можете использовать встроенную функцию simplexml_load_string(). Эта функция принимает в качестве аргумента строку XML и возвращает объект SimpleXMLElement, который можно использовать для доступа к данным внутри XML.


Вот пример использования функции simplexml_load_string() для спарсивания строки XML:

1
2
$xml_string = '<root><element1>value1</element1><element2>value2</element2></root>';
$xml = simplexml_load_string($xml_string);


Теперь, чтобы записать данные в базу данных, вам нужно определить, какие данные вы хотите записать и в какой форме. Обычно вы будете использовать SQL-запросы для взаимодействия с базой данных. Вот пример SQL-запроса для создания таблицы:

1
2
3
4
5
6
CREATE TABLE mytable (
  id INT(11) NOT NULL AUTO_INCREMENT,
  element1 VARCHAR(255),
  element2 VARCHAR(255),
  PRIMARY KEY (id)
);


Затем вы можете использовать PHP для выполнения этого запроса и записи данных в таблицу:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// Установить соединение с базой данных
$conn = new mysqli($servername, $username, $password, $dbname);

// Проверка соединения
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// Создание SQL-запроса
$sql = "INSERT INTO mytable (element1, element2) VALUES (?, ?)";

// Подготовка запроса
$stmt = $conn->prepare($sql);

// Привязка параметров и выполнение запроса
$stmt->bind_param("ss", $xml->element1, $xml->element2);
$stmt->execute();

// Закрытие соединения
$stmt->close();
$conn->close();


В этом примере мы создали таблицу с двумя столбцами: element1 и element2. Затем мы использовали SQL-запрос INSERT для вставки данных в таблицу. Мы использовали bind_param() для передачи значений из объекта SimpleXMLElement в SQL-запрос.


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