首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DomDocument -自结束标记和特殊字符

DomDocument -自结束标记和特殊字符
EN

Stack Overflow用户
提问于 2019-02-20 19:01:59
回答 1查看 214关注 0票数 0

我正在使用XMLDomDocument生成一个DomDocument文件,但有一次,我使用了一个包含html实体的自结束标记。

这是所需的输出:

代码语言:javascript
复制
<http-headers>
   <header name="Access-Control-Allow-Origin" value="*" />
</http-headers>

这就是我现在(不正确)正在做的事情:

代码语言:javascript
复制
$httpHeaders = $xml->createElement("http-headers");
$icecast->appendChild($httpHeaders);

$headerName = $xml->createTextNode('<header name="Access-Control-Allow-Origin" value="*" />');
$httpHeaders->appendChild($headerName);

这给了我:

代码语言:javascript
复制
<http-headers>&lt;header name="Access-Control-Allow-Origin" value="*" /&gt;</http-headers>

我看过命名空间属性值,但这都很让人困惑,而且我也没有找到一个添加自结束标记的解决方案。

此外,我需要输出<>字符,而不是将它们转换为&lt;&gt;

谁能给我指明正确的方向吗?

编辑

取得了一些进展,现在以正确的方式添加元素:

代码语言:javascript
复制
$httpHeaders = $xml->createElement("http-headers");
$icecast->appendChild($httpHeaders);
$httpHeadersHeader = $xml->createElement("header");
$httpHeaders->appendChild($httpHeadersHeader);
$httpHeadersHeader->setAttribute("name", '"Access-Control-Allow-Origin" value="*"'); 

但是它输出的是html代码,而不是字符:

代码语言:javascript
复制
<http-headers>
    <header name="&quot;Access-Control-Allow-Origin&quot; value=&quot;*&quot;"/>
</http-headers>

我在输出之前添加了UTF-8编码,但这并没有帮助:

代码语言:javascript
复制
$xml->encoding = 'UTF-8';
return $xml->save('php://output');

如何使它输出实际的符号而不是代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-20 19:37:17

将两个属性添加到一个属性值中,需要将其拆分为两个调用,每个调用一个.

代码语言:javascript
复制
$httpHeadersHeader->setAttribute("name", "Access-Control-Allow-Origin"); 
$httpHeadersHeader->setAttribute("value", "*"); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54793516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档