为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 Javascript 呈现 XML

无法使用 Javascript 呈现 XML

当年话下 2021-12-02 10:26:20
尝试将 XML 存储在变量中然后呈现它时,没有显示任何内容。XML 字符串数据示例: <?xml version="1.0" encoding="UTF-8"?>在下面的脚本中,testvar1会呈现,但不会呈现testvar2.<!doctype html><html><head><meta charset="utf-8"></head><body>    <div id="target"></div><script>    var testvar1 = "balls";    var testvar2 = `<?xml version="1.0" encoding="UTF-8"?>`;    document.getElementById("target").innerHTML = testvar1 + testvar2;</script></body></html>我想不出这不起作用的原因。但我可能忽略了一些对其他人来说显而易见的东西......
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

显而易见的原因是浏览器将您的 XML 解释为有效标签并尝试呈现您的 XML 元素。如果要向用户显示纯 XML,请使用textContent属性而不是innerHTML:


<!doctype html>

<html>

<head>

<meta charset="utf-8">

</head>

<body>

    <div id="target"></div>

<script>

    var testvar1 = "balls";

    var testvar2 = `<?xml version="1.0" encoding="UTF-8"?>`;

    document.getElementById("target").textContent = testvar1 + testvar2;

</script>

</body>

</html>


查看完整回答
反对 回复 2021-12-02
?
UYOU

TA贡献1878条经验 获得超4个赞

这不是可以渲染的代码,因为浏览器无法渲染带有属性的xml标签。


<?xml version="1.0" encoding="UTF-8"?>

如果要渲染它,则必须跳过 HTML 标记,例如:


<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8" />

  </head>

  <body>

    <div id="target"></div>

    <script>

      var testvar1 = "balls";

      var testvar2 = `&lt;?xml version="1.0" encoding="UTF-8"?&gt;`;

      document.getElementById("target").innerHTML = testvar1 + testvar2;

    </script>

  </body>

</html>


查看完整回答
反对 回复 2021-12-02
  • 2 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信