我有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)吗? 因为我正在使用读/写文件。
答案 0 :(得分:1)
我从未尝试过这个,但根据文档,这可能有用:
<?php
$dom = new DOMDocument();
$dom->load('example.xml');
$dom->documentElement->removeAttribute("xmlns");
echo $dom->saveXML();
?>
不是一个非常干净的解决方案,但如果您真的只是想摆脱xmlns属性,它可能会有效。