gpt4 book ai didi

javascript - 如何为特殊字符编写正确的 xml

转载 作者:行者123 更新时间:2023-12-02 19:30:47 25 4
gpt4 key购买 nike

我正在尝试从使用特殊字符的字符串写入正确的 svg。我正在对 svg 文档使用 UTF-8 编码。我正在处理 javascript 。该字符串类似于:

<glyph unicode="&#xa5;" 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="&#xa5;" 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com