簡體   English   中英

PHP過濾XML xpath並導出圖像

[英]PHP filter XML xpath and export image

我有一個xml導出,需要在導入之前進行過濾。

所以我編寫代碼來加載,過濾和保存它。

$xml = simplexml_load_file('test.xml');
$nodes = $xml->xpath('/nodes/node[ ... condition ... ]'); 

$nodes->asXML('filtred.xml');

但我看到asXML()是一個SimpleXMLElement::function ,它是SimpleXMLElement元素的對象。

如何將常規SimpleXMLElement元素中的所有$nodes分組$nodes在其上使用asXML()

原始的XML結構是:

<nodes>
  <node>
    <Titolo>Acquisti</Titolo>
    <Corpo></Corpo>
    <Nid>450</Nid>
  </node>

  ...

</nodes>

基於SimpleXML:將一個樹附加到另一個樹 ,結果是一個節點列表,這些節點必須由一個可以調用asXml的根元素包裝

$xmlIn = '
<nodes>
  <node>
    <Titolo>Acquisti</Titolo>
    <Corpo></Corpo>
    <Nid>450</Nid>
  </node>
  <node>
    <Titolo>Acquisti 2</Titolo>
    <Corpo></Corpo>
    <Nid>450</Nid>
  </node>
  <node>
    <Titolo>Acquisti 2</Titolo>
    <Corpo></Corpo>
    <Nid>450</Nid>
  </node>
</nodes>
';

$xml = simplexml_load_string($xmlIn);
$nodes = $xml->xpath('/nodes/node');

$xmlOut = new SimpleXMLElement('<nodes></nodes>');

$domOut = dom_import_simplexml($xmlOut);

foreach ($nodes as $n) {
    $tmp  = dom_import_simplexml($n);
    $tmp  = $domOut->ownerDocument->importNode($tmp, TRUE);
    $domOut->appendChild($tmp);
}

$xmlOut->asXML('filtred.xml');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM