作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从使用特殊字符的字符串写入正确的 svg。我正在对 svg 文档使用 UTF-8 编码。我正在处理 javascript 。该字符串类似于:
<glyph unicode="¥" horiz-adv-x="819" />
使用 DOMParser api 编写 xml 时,它将 ¥ 转换为 ¥,这是不正确的 xml,并且浏览器会抛出 XML 解析错误。
这是我想要转换为 SVG 文档的完整文本。
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="DearestRegular" horiz-adv-x="2048" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<glyph unicode="¥" horiz-adv-x="819" />
</font>
</defs>
</svg>
使用 DOMParser 我得到的输出如下:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="DearestRegular" horiz-adv-x="2048" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<glyph unicode="¥" horiz-adv-x="819" />
</font>
</defs>
</svg>
这会在浏览器中引发 XML 解析错误。
最佳答案
这不是不正确的 XML。
可能您的服务器发送了错误的character encoding information在 HTTP header 中。
(由于 XML 声明没有另外说明,因此您应该使用 UTF-8)
关于javascript - 如何为特殊字符编写正确的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11524514/
我是一名优秀的程序员,十分优秀!