2016-09-01 3 views
-1

У меня есть веб-приложение, которое человек просматривает штрих-код Datamatrix в форме, и это передается через сообщение в следующую часть процесса. У меня нет контроля над xml, содержащимся в штрих-коде, поэтому он может работать только с тем, что там есть. я не могу получить XML для загрузки в simple_xml_loadstring:Анализ сыгранных XML с PHP

Вот пример XML-сканируется штрих-код:

<xml><sc id="12345" ft="HS21" t="2016-08-31"/><pa l="MySurname" m="B" f="MyFirstName" s="Mr" h="1234567436" b="1995-03-23" x="2" a="97 the Town Road,Nowhere,My City" pc="RA 13762"/><pb i="4204" d="My Name" n="My Business " pi="Z008287783" a="Station Road,My Town, County, LAX 12344,028 45 67 89" pc=""/><dd d="Name of suff" q="120" sq="213325435436436" do="Directions" dm="425984002" u="80"/></xml> 

Это мой код на странице, которая принимает POST из формы :

//get XML from previous form field 
$searchTerm = $_REQUEST['ScanItem']; 
$xml = simplexml_load_string($searchTerm); 

if ($xml === false) { 
    echo "Failed loading XML: "; 
    foreach(libxml_get_errors() as $error) { 
     echo "<br>", $error->message; 
    } 
} else { 
    print_r($xml); 
} 

Я также попытался с помощью:

$xml = file_get_contents('php://input'); 
     $decodedXML = urldecode($xml); 

Затем попытка эха $ decodedXML, но ничего не появляется после ScanItem =

Действительно действительно разочаровывает.

Любые предложения приветствуются.

СООБЩЕНИЕ

+0

, что вы ищете? относительно того, что вам нужно. – Shridhar

+0

Каким образом XML искажен - выглядит хорошо для меня ... уродливым, но не технически * неправильным * – CD001

+0

Мне нужен идентификатор из первого элемента. Я знаю, что его dosent выглядит слишком плохо, поскольку XML идет, но он просто не загружается в simplexml_load_string. – Brownd92

ответ

0

Вы ищете стоимость 12345? Тогда здесь U Go ..

<?php 
$xml_string = '<xml><sc id="12345" ft="HS21" t="2016-08-31"/><pa l="MySurname" m="B" f="MyFirstName" s="Mr" h="1234567436" b="1995-03-23" x="2" a="97 the Town Road,Nowhere,My City" pc="RA 13762"/><pb i="4204" d="My Name" n="My Business " pi="Z008287783" a="Station Road,My Town, County, LAX 12344,028 45 67 89" pc=""/><dd d="Name of suff" q="120" sq="213325435436436" do="Directions" dm="425984002" u="80"/></xml>'; 
$xml = simplexml_load_string($xml_string); 
$xml_id_to_sring = $xml->sc->attributes()->{'id'}; 
$json = json_decode(json_encode((array)$xml_id_to_sring)); 
print_r($json[0]); 
?> 

Eval Link for the answer

+1

Спасибо за это – Brownd92

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