Помощь XML, необходимая для извлечения текста узла xml и дочерних узлов (PHP) - PullRequest
0 голосов
/ 24 февраля 2012

Рассмотрим следующий фрагмент XML.

<s1>
 S1 Tag: s1 content 1
 <test1>Test1 Tag: content</test1>
 S1 Tag: s1 content 2
 <test2>Test2 Tag: content</test2>
 S1 Tag: s1 content 3
</s1>

Я хочу извлечь <s1> текст тега ( S1 Tag: s1 content 1, S1 Tag: s1 content 2, S1 Tag: s1 content 3 ) и все его дочерние теги (<test1> и <test2>) вместе с его содержимым ( Test1 Tag: содержимое, Test2 Tag: содержимое ).

Вывод может быть в любом формате, например (наконец, мне нужно сохранить его в БД, и я получу тот же XML снова)

  S1 tag: S1 Tag: s1 content 1

  test1 tag: Test1 Tag: content

  S1 Tag: s1 content 2

  test2 tag: Test2 Tag: content

  S1 Tag: s1 content 3

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Использовать simplexml:

   $stuff = " <s1>
 S1 Tag: s1 content 1
 <test1>Test1 Tag: content</test1>
 S1 Tag: s1 content 2
 <test2>Test2 Tag: content</test2>
 S1 Tag: s1 content 3
</s1>";

    $xml = simplexml_load_string($stuff);

    $test1 = (string) $xml->s1->test1;

    write_to_db($field, $test1);
0 голосов
/ 24 февраля 2012

Это то же самое, что удалить все теги с помощью следующего регулярного выражения

preg_replace('<[^>]+>', ' ', $xmlStr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...