У меня возникла проблема с разбором XML.PHP Parsing XML
Что я делаю: Я раскошеливаю 1 XML для многих, а также редактирую несколько вещей для нового. И это работает!
Где проблема: После Синтаксический не все части такие же, чтобы быть более в некоторых, специфические из них только 2 труда Оценить подробности, в другой может быть 5 .:
Так выглядит как некоторые :
<LaborRateList>
<LaborRateDetail>
<Role>Labor</Role>
<Category>1</Category>
<Rate Cur="CZK" Unit="h" MinValue="0" MaxValue="0">250.0</Rate>
</LaborRateDetail>
<LaborRateDetail>
<Role>Paint</Role>
<Category>2</Category>
<Rate Cur="CZK" Unit="h" MinValue="0" MaxValue="0">350.0</Rate>
</LaborRateDetail>
</LaborRateList>
И еще:
<LaborRateList>
<LaborRateDetail>
<Role>Labor</Role>
<Category>1</Category>
<Rate Cur="CZK" Unit="h" MinValue="0" MaxValue="0">250.0</Rate>
</LaborRateDetail>
<LaborRateDetail>
<Role>Labor</Role>
<Category>1</Category>
<Rate Cur="CZK" Unit="h" MinValue="0" MaxValue="0">250.0</Rate>
</LaborRateDetail>
<LaborRateDetail>
<Role>Labor</Role>
<Category>1</Category>
<Rate Cur="CZK" Unit="h" MinValue="0" MaxValue="0">250.0</Rate>
</LaborRateDetail>
<LaborRateDetail>
<Role>Labor</Role>
<Category>1</Category>
<Rate Cur="CZK" Unit="h" MinValue="0" MaxValue="0">250.0</Rate>
</LaborRateDetail>
<LaborRateDetail>
<Role>Paint</Role>
<Category>2</Category>
<Rate Cur="CZK" Unit="h" MinValue="0" MaxValue="0">350.0</Rate>
</LaborRateDetail>
</LaborRateList>
я пытался выяснить, как ничего не вставлять, если больше нет ставок труда. Что я стараюсь было проверить, есть ли что-нибудь в variabile и если не писать ничего так что мой код выглядит следующим образом:
//RATE3 PART
var_dump($value->Contract->LaborRateList->LaborRateDetail[2]->Role);
if ($value->Contract->LaborRateList->LaborRateDetail[2]->Role == 0)
//SOME CODE HERE
Но я получаю сообщение об ошибке:
Notice: Trying to get property of non-object in C:\xampp\htdocs\xampp\provisioning\index.php on line 23
NULL
Notice: Trying to get property of non-object in C:\xampp\htdocs\xampp\provisioning\index.php on line 24
Мой полный код можно найти на http://pastebin.com/12HiHEcu, это моя последняя попытка, которая не работает :(
Может кто-нибудь помочь мне исправить это?
Итак, как вы их разбираете? Вы не можете просто получить доступ к узлу XML в «нормальной» строке. Вам нужно будет использовать какую-то библиотеку для ее анализа. – HamZa
EDITED и добавлен полный код – Andurit
Это проще с DOM (из-за методов узлов), см. Http://stackoverflow.com/questions/26774674/split-1-xml-to-multiple-after-specific-tag- используя-PHP/26776687 # 26776687 – ThW