我正在使用XML的DomDocument生成一个DomDocument文件,但有一次,我使用了一个包含html实体的自结束标记。
这是所需的输出:
<http-headers>
<header name="Access-Control-Allow-Origin" value="*" />
</http-headers>这就是我现在(不正确)正在做的事情:
$httpHeaders = $xml->createElement("http-headers");
$icecast->appendChild($httpHeaders);
$headerName = $xml->createTextNode('<header name="Access-Control-Allow-Origin" value="*" />');
$httpHeaders->appendChild($headerName);这给了我:
<http-headers><header name="Access-Control-Allow-Origin" value="*" /></http-headers>我看过命名空间和属性值,但这都很让人困惑,而且我也没有找到一个添加自结束标记的解决方案。
此外,我需要输出<和>字符,而不是将它们转换为<和>。
谁能给我指明正确的方向吗?
编辑
取得了一些进展,现在以正确的方式添加元素:
$httpHeaders = $xml->createElement("http-headers");
$icecast->appendChild($httpHeaders);
$httpHeadersHeader = $xml->createElement("header");
$httpHeaders->appendChild($httpHeadersHeader);
$httpHeadersHeader->setAttribute("name", '"Access-Control-Allow-Origin" value="*"'); 但是它输出的是html代码,而不是字符:
<http-headers>
<header name=""Access-Control-Allow-Origin" value="*""/>
</http-headers>我在输出之前添加了UTF-8编码,但这并没有帮助:
$xml->encoding = 'UTF-8';
return $xml->save('php://output');如何使它输出实际的符号而不是代码?
发布于 2019-02-20 19:37:17
将两个属性添加到一个属性值中,需要将其拆分为两个调用,每个调用一个.
$httpHeadersHeader->setAttribute("name", "Access-Control-Allow-Origin");
$httpHeadersHeader->setAttribute("value", "*"); https://stackoverflow.com/questions/54793516
复制相似问题