無法開啟 .svg 檔案:XML 解析錯誤

無法開啟 .svg 檔案:XML 解析錯誤

今天升級到 20.04,不知何故,文件檢視器無法開啟.svg檔案。它一直給出這個錯誤。以前,當我使用 18.04 時,一切正常。我沒有遇到這樣的錯誤。

XML parse error: error code=201 (3) in (null):606:15: Namespace prefix xlink for href on image is not defined

編輯

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="200" height="200">
  <image id="image0" width="200" height="200" x="0" y="0"
    xlink:href="data:image/png;base64

答案1

您的文件檢視器抱怨該svg文件xlink在某處有一個未聲明的符號。因此,您的svg文件不是有效的xml,文件檢視器會正確地抱怨。也許在新版本中它對此更加嚴格。

要修復文件,請使用編輯器將其打開,並確保xlink聲明包含在<svg>文件開頭的標記中,它應該如下所示:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">

更新:對於您的文件,更改此行:

<svg width="200" height="200">

對此:

<svg width="200" height="200"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">

答案2

看:<svg> - SVG:可縮放向量圖形 | MDN

svg元素是一個定義新座標系和視口的容器。它用作 SVG 文件的最外層元素,但也可用於將 SVG 片段嵌入到 SVG 或 HTML 文件中。

筆記:xmlns屬性僅必需的在 SVG 文件的最外層 svg 元素上。對於內部 svg 元素或內部 HTML 文件來說是不必要的。


svg在大多數情況下,標籤具有以下屬性就足夠了:xmlnsviewBox;可選地width並且height

<svg xmlns="http://www.w3.org/2000/svg"
     viewBox="0 0 16 16" width="50" height="50">
  <g>
    <path d=". . ."></path>
  </g>
</svg>

相關內容