从xml数据创建/提取svg图像

时间:2015-04-21 06:14:40

标签: c# svg

我收到的XML节点包含SVG数据(GIS OSM数据的一部分规则),如下所示:

    <svg:symbol id="synagogue" viewBox="0 0 20 20" stroke="#0000d0" fill="none" stroke-width="1.5px" stroke-linecap="butt" stroke-linejoin="miter">
        <svg:path d="M 10,0 L 20,15 L 0,15 L 10,0 z M 10,20 L 0,5 L 20,5 L 10,20 z"/>
    </svg:symbol>

如何将此数据转换为SVG图像?我下载了一个库SvgDocument(用于C#)并成功使用它,但是这个特定节点的格式,我无法转换它。什么是“d”属性数据?

我成功转换的文件的数量:

<?xml version="1.0" encoding="UTF-8"?>
<svg width="20" height="20" id="symbol-parking-private">
<rect x="0.5" y="0.5" width="19" height="19" rx="2" ry="2" style="stroke:#aaaaaa;stroke-width:1;fill:#ffffff" />
<path d="M4,17 L4,3 10,3 C14,3 16,5 16,7.5 C16,10 14,12 10,12 L8.5,12 8.5,17 z M8.5,9 L10,9 C13,9 13,6 10,6 L8.5,6 8.5,9 z" style="stroke-width:0;fill:#aaaaaa" />
</svg>

1 个答案:

答案 0 :(得分:1)

  1. 删除所有svg:前缀
  2. symbol必须括在defs中,然后才能与use一起使用
  3. 请参阅http://jsfiddle.net/5ac52gs6/1/

    顺便说一句。你的symbol viewBox会削减符号的某些部分(你必须注意stroke-width