Get HTML from XML tag

php html xml

62 观看

1回复

82 作者的声誉

I had to get HTML from body tag of this XML file.
Code:

$doc = new DOMDocument();
$doc->load('https://m360-dev.opoint.com/api/feeds/f201637e-2524-4a56-8504-73090f532c91/view/');
foreach($doc->getElementsByTagName('document') as $node){
    $body = $node->getElementsByTagName('body')->item(0)->nodeValue;
    print_r($body);
    echo "<hr/>";
}

Output of this code:

string(594) "
Lördagen den 7 oktober går årets upplaga av Skogsmaran av stapeln. Det 
populära terrängloppet på Vildmarksleden – mellan Skatås i Göteborg och österut 
till Hindås. Ekan Management finns med som sponsor för att främja en aktiv 
och hälsosam fritid. Vill du vara med?! Vi bjuder på deltagaravgiften till 
dig som vill tillbringa en härlig dag i naturen. 21 eller 42 kilometer, 
vandring eller löpning väljer du själv.Vi har ett begränsat antal platser. 
Anmäl ditt intresse via ekan@ekan.com så kontaktar vi dig kring det 
praktiska.Mer information finns på www.Skogsmaran.se
"

Output wanted:

<p>
   <text>
    Lördagen den 7 oktober går årets upplaga av Skogsmaran av stapeln. Det 
    populära terrängloppet på Vildmarksleden – mellan Skatås i Göteborg och 
    österut till Hindås. Ekan Management finns med som sponsor för att 
    främja en 
    aktiv och hälsosam fritid. Vill du vara med?! Vi bjuder på 
    deltagaravgiften 
    till dig som vill tillbringa en härlig dag i naturen. 21 eller 42 
    kilometer, 
    vandring eller löpning väljer du själv.
</text>
</p>
<p>
   <text>
      Vi har ett begränsat antal platser. Anmäl ditt intresse via 
      ekan@ekan.com så 
      kontaktar vi dig kring det praktiska.
   </text>
</p>
<p>
  <text>Mer information finns på www.Skogsmaran.se</text>
</p>

But this always returns bunch of string equivalent to HTML within body tag.

作者: Suba Sah 的来源 发布者: 2017 年 9 月 15 日

回应 1


2

35211 作者的声誉

决定

Your taking the node value and then just dumping that out, if you want the HTML, then use something like...

$doc = new DOMDocument();
$doc->load('https://m360-dev.opoint.com/api/feeds/f201637e-2524-4a56-8504-73090f532c91/view/');
foreach($doc->getElementsByTagName('document') as $node){
    $body = $node->getElementsByTagName('body')->item(0);
    foreach ( $body->childNodes as $node )  {
        echo $doc->saveHTML($node);
    }
    echo "<hr/>";
}

You ask the document to save HTML from the $body node.

作者: Nigel Ren 发布者: 2017 年 9 月 15 日
32x32