PHP разбор с использованием libxml - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть простой XML файл, где необходимые данные имеют XML поле атрибута тега, например, с именем type со значением html:

...
  <content type="html">Actual content</content>
...

Когда я пытаюсь проанализировать эту строку в PHP объект с simplexml_load_string($my_xml_string, 'SimpleXMLElement', LIBXML_NOCDATA), я получил эту структуру для рассматриваемой детали:

"content"=> array(
  "@attributes" => array("type" => "html"),
  "0" => "Actual content"
),

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

"content"=> "Actual content",

?

1 Ответ

0 голосов
/ 28 апреля 2020

Ближайшая часть, которую вы можете получить, это приведение значения к строке, что-то вроде:

$my_xml_string = '<rt><content type="html">Actual content</content></rt>';
$xml = simplexml_load_string($my_xml_string, 'SimpleXMLElement', LIBXML_NOCDATA);
$str = (string) $xml->content;
echo 'content: ' . $str;
...