2014-03-07 4 views
-1

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

скриптов/Тесты// 802dot1x безопасности сети/802dot1xBasicFunctionality/802dot1xRadAccAVPClntStatIp.tcl скриптов/Тесты// 802dot1x безопасности сети/802dot1xConfiguration/802dot1xBasicUserMode.tcl

сценарий является одним из тегов моего XML-файла.

Теперь из этого тега я хочу, чтобы вторая позиция (networkSecurity) была последней и напечатала их. Как я могу это достичь?

ответ

0

Вы можете использовать simplexml_load_file - толкующий файл XML в объект

$xml = simplexml_load_file("file.xml"); 

echo $xml->data; 

* UPDATE

, чтобы получить конкретное значение с помощью слэш разделителем:

$xml = simplexml_load_file("file.xml"); 

foreach($xml->testcase as $var){ 
    $var=explode('/',$var->script); 
    echo $var[2] ."\n". end($var); 
} 
+0

Orlo: Я уже использую его, и после разбора моего большого файла XML я получил этот выход .. этот выход содержания одного из тега XML, который выглядит, как ' ' Теперь я хочу получить вторую позицию этого тега скрипта и последнего. – Learning

+0

Отметьте обновленный ответ – Orlo

+0

Ваша идея работает отлично, но есть одна вещь, которая меня подтачивает. Я использую логической единицы 'Еогеасп ($ testcase-> сценарий как $ вар) { $ вар = preg_replace ('/ <(.*?)> /', '', $ VAR); $ var = explode ('/', $ var); echo $ var [2]. "\ N". конец ($ Var); } У меня есть много тегов скриптов, но даже после использования foreach в выходе я получаю только значение последнего тега скрипта :( – Learning

0

Попробуйте это:

$parser = xml_parser_create(); 
xml_parse_into_struct($parser, $xml, $values, $indexes); 
xml_parser_free($parser); 

где $ xml - ваш xml, $ values ​​и $ indexes будут возвращенными массивами, содержащими найденные теги xml и их позицию.

Смежные вопросы