[尝试将XML存储在变量中然后进行呈现时,不显示任何内容。
XML字符串数据示例:<?xml version="1.0" encoding="UTF-8"?>
在下面的脚本中,显示testvar1
,但不显示testvar2
。
<!doctype html>
<html lang="en">
<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>
我想不出一个不起作用的原因。但是我可能忽略了其他所有人都可以看到的东西...
明显的原因是浏览器将您的XML解释为有效标签,并尝试呈现XML元素。如果要向用户显示纯XML,请使用textContent
属性而不是innerHTML
:
<!doctype html>
<html lang="en">
<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>
这不是可呈现的代码,因为带有属性的xml标记无法由浏览器呈现。
<?xml version="1.0" encoding="UTF-8"?>
如果要呈现它,则必须跳过HTML标记,例如:
<!DOCTYPE html>
<html lang="en">
<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>