DOMDOcument还有其他方法(xmlns)吗?

时间:2010-12-24 15:34:52

标签: php

我有example.xml

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"> 
      <content>

 <books>    
     <book>
  <qty>12</qty>
  <title>C++</title>
     </book>
     <book>
  <qty>21</qty>
  <title>PHP</title>
     </book>    
   </books>    
  </content>
</Document>

目前我确实喜欢(带文件)

  $xmlFile = file_get_contents("example.xml");
  $xml = str_replace('<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"> ', "<Document>", $xmlFile); // This removes ALL default namespaces.
  //echo $xmlFile;
  $fp = fopen('example.xml', 'w');
  fwrite($fp, $xml);
  fclose($fp);
  //TODO MORE AFTER IT

使用DOMDOcument还有其他方式(删除xmlns)吗? 因为我正在使用读/写文件。

1 个答案:

答案 0 :(得分:1)

我从未尝试过这个,但根据文档,这可能有用:

<?php
$dom = new DOMDocument();
$dom->load('example.xml');
$dom->documentElement->removeAttribute("xmlns");
echo $dom->saveXML();
?>

不是一个非常干净的解决方案,但如果您真的只是想摆脱xmlns属性,它可能会有效。