Мое единственное сомнение в том, насколько применимо этот метод будет в многобайтовых строках, но если это не соображение, то я подозреваю, что вы охвачены. (Если сомневаетесь, mb_substr ()
кажется явно безопасным выбором.)
Однако, с большой картины зрения, мне нужно задаться вопросом, как часто вам нужно получить доступ к 'n '-го символа в строке, чтобы это было ключевым соображением.
После правильной загрузки xml-файла с помощью SimpleXML objecto вы можете сделать print_r($xml_variable)
, и вы можете легко найти, к каким атрибутам вы можете получить доступ. Как говорили другие пользователи, $xml['id']
также работал для меня.
Вам нужно правильно отформатировать XML
и позволить ему иметь возможность использовать <root></root>
или <document></document>
что угодно .. см. спецификацию XML и примеры в http://php.net/manual/en/function .simplexml-load-string.php
$xml = '<?xml version="1.0" ?>
<root>
<show id="8511">
<name>The Big Bang Theory</name>
<link>http://www.tvrage.com/The_Big_Bang_Theory</link>
<started>2007-09-24</started>
<country>USA</country>
<latestepisode>
<number>05x23</number>
<title>The Launch Acceleration</title>
</latestepisode>
</show>
</root>';
$xml = simplexml_load_string ( $xml );
var_dump ($xml->show->attributes ()->id);
Это должно сработать. Вам нужно использовать атрибуты с типом (если используется значение sting value (string))
$id = (string) $xml->show->attributes()->id;
var_dump($id);
Или это:
$id = strip_tags($xml->show->attributes()->id);
var_dump($id);
Вам нужно использовать атрибуты
Я считаю, что это должно работать
$id = $xml->show->attributes()->id;
show
является корнем по умолчанию ... ему нужно деформировать xml
правильно
– Baba
10 May 2012 в 16:56
Warning: main() [function.main]: Node no longer exists in....
– Oskar
10 May 2012 в 16:57
попробуйте это
$id = (int)$xml->show->attributes()->id;
Warning: main() [function.main]: Node no longer exists in....
, в то время как последний ничего не показывает. – Oskar 10 May 2012 в 16:58