我正在尝试从使用特殊字符的字符串中编写正确的svg。我正在使用UTF-8编码svg文档。我正在使用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 Parsing错误。
答案 0 :(得分:2)