Здравствуйте! Скажите пожалуйста как сделать то что мне нужно: через php получаю xml $xmlDoc = file_get_contents('/xmlPath', false, $context); этот файл имеет содержание: <?xml version="1.0" encoding="UTF-8"?> <dataInf> <dataB> <container> <information> <car><name>P000001</name><value><string>JH161</string></value></car> <car><name>P000002</name><value><string>JH165</string></value></car> <car><name>P000003</name><value><string>JH182</string></value></car> </information> </container> </dataB> </dataInf> мне нужно чтобы php скрипт убрал как правильно сказать или очистил значения например у P000002 очистить значение которое находится <value><string>JH165</string></value> чтобы было так <value><string></string></value> --- Добавлено --- также я хочу отметить что я новичок и пожалуйста напишите как это делается более понятно спасибо заранее вам!
я читал об этом, но я не знаю как сделать поиск по имени который мне нужен и как очистить значение. То есть я не знаю как сделать то, о чем я написал в своем вопросе.
@Абу, если уж применительно к конкретному случаю, можно воспользоваться знанием о структуре xml-файла и регулярными выражениями: PHP: $sName = 'P000002'; $xmlDoc = preg_replace('~(<car><name>'.$sName.'</name><value><string>)(.+)(</string></value></car>)~', '$1$3', $xmlDoc); var_dump($xmlDoc); Это, конечно, не работа с xml документом, но для начала...
работа с simpleXML довольно простая. очень мало методов. все прозрачно. главное аккуратность. данную задачу я бы решил так: Код (Text): <?php $way_to_xml_file = './full/way/to/xml/file.xml'; // путь к xml файлу // массив изменяемых ключей // изменяемый ключ => новое значение $replaced = [ 'P000002' => 'dsfdsafad', 'P000003' => 'ffffffffdffdfdff', ]; $smpl_xml=simplexml_load_file($way_to_xml_file); foreach ($smpl_xml->dataB->container->information->car as $car) { if (isset($replaced[strval($car->name)])) { $car->value->string = $replaced[strval($car->name)]; } } $smpl_xml->asXML($way_to_xml_file); В $way_to_xml_file введите тот файл, который надо обработать (например, загружаемый через file_get_contents в вашем вопросе