Я пытаюсь прочитать тег xml, но есть одна проблема. Если внутри тега есть другой тег, я получаю только его атрибут.
Пример: У меня есть xml файл
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to><hello role='admin'/>Hello World</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";
$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
echo "<pre>";
print_r($xml);
Выход:
SimpleXMLElement Object
(
[to] => SimpleXMLElement Object
(
[hello] => SimpleXMLElement Object
(
[@attributes] => Array
(
[role] => admin
)
)
)
[from] => Jani
[heading] => Reminder
[body] => Don't forget me this weekend!
)
Но я хочу заголовок "Hello World". У кого-нибудь есть решение для этого?






Вы не можете получить значение элемента SimpleXML как объекта, вместо этого вы должны преобразовать его в строку (или int, или ...):
$myXMLData = "<title><anchor id='page1' role='first'/>Xyz Title</title>";
$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
echo "<pre>";
echo (string)$xml;
Выход:
Xyz Title
Что касается вашего измененного вопроса, просто
echo (string)$xml->to;
Выход:
Hello world
@MonkeyZeus, вы правы для echo. Во многих других случаях вы это делаете, поэтому я предпочитаю использовать его постоянно.
Спасибо, но у меня есть XML-данные этого типа <chapter label = "Chapter 1" id = "ch1"> <title> <anchor id = "page1" role = "first" /> Сердечно-сосудистая система </title> < toc role = "none"> </toc> </chapter>
спасибо @Nick, я обновил свой вопрос, есть идеи, как я могу это получить?
Вам не нужен
(string)