PHP, nasıl bir DOMNode gelen Dış XML alabilirim?

2 Cevap php

Eğer DOMNode PHP varsa, nasıl (yani bu öğenin içinde bir XML tüm artı eleman kendisi) dış xml alabilirim?

Örneğin, bu yapı sağlar ki

<car>
 <tire>Michelin</tire>
 <seats>Leather</seats>
 <type>
   <color>red</color>
   <make>Audi</make>
 </type>
</car>

Ve ben bir işaretçi düğüm ... Ben geri almak istiyorum

<type>
    <color>red</color>
    <make>Audi</make>
</type>

Ben sadece metin için sorarsanız, ben geri "redAudi" olsun.

2 Cevap

Bir DOMDocument gerekir:

// If you don't have a document already:
$doc = new DOMDocument('1.0', 'UTF-8');

echo $doc->saveXML($node); // where $node is your DOMNode

Daha fazla bilgi için dokümanlar DOMDocument :: SaveXML edin.

Eğer SaveXML bir DOMNode () geçmek ne zaman geri o düğüme değil tüm belge yalnızca içeriğini olsun.

Gibi bir şey deneyebilirsiniz:

function getInnerXml(DomNode $node){
  $xml = '';
  foreach($node->childNodes as $childNode){
    $xml .= $node->ownerDocument->saveXml($childNode);
  }
  return $xml;
}