Мой вывод xpath / php должен показывать теги - PullRequest
1 голос
/ 13 апреля 2009

Я пытаюсь получить выражение xpath, которое удалит мой внешний тег, но оно удаляет это, плюс внутренний тег и печатает данные элемента. Как я могу заставить его печатать мои подсказки?

Мой PHP выглядит так:

<?php
#get file
$xml = simplexml_load_file('content.xml') or die ("Unable to load XML string!");

#loop through results
foreach ( $xml->xpath('//prompt') as $voiceQ) {
  echo "<h2>Thank you for visiting our site2</h2>";
  print $voiceQ;
} //for
?>

Мой content.xml выглядит так
(Я пишу в этот файл, и он теряет некоторое форматирование. Не думаю, что это проблема):

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <prompt>
        Welcome to Group Finder, Mary Lamb . We see that
        you  like the group:   JackJohnson
    </prompt>
</result>

Мой вывод выглядит так:
Добро пожаловать в группу Finder, Мэри Лэмб. Мы видим, что вам нравится группа: ДжекДжонсон

Но я хочу, чтобы это выглядело так:
(просто удалите теги результата):

<prompt>Welcome to Group Finder, Mary Lamb . We see that you  like the group: JackJohnson</prompt>

Ответы [ 2 ]

1 голос
/ 13 апреля 2009

Попробуйте метод asXML в SimpleXMLElement:

<?php
$string = '<?xml version="1.0" encoding="UTF-8"?><result>
<prompt>Welcome to Group Finder, Mary Lamb . We see that you  like the group:   JackJohnson</prompt></result>';

#get file
$xml = new SimpleXMLElement($string);

#loop through results
foreach ( $xml->xpath('//prompt') as $voiceQ) {
  echo "<h2>Thank you for visiting our site2</h2>";
  print $voiceQ->asXML();
} //for
?>
0 голосов
/ 14 апреля 2009

, если результат находится в пределах приглашения, просто зациклите немного больше:)

  <php?
    #get file
    $xml = simplexml_load_file('content.xml') or die ("Unable to load XML string!");

    #loop through results
    foreach ( $xml->xpath('//prompt') as $voiceQ) {
      foreach($voiceQ AS $inVoice)
        {
           echo "<h2>Thank you for visiting our site2</h2>";
           print $inVoice;
         }
    } //for
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...