根据 id 获取 svg 元素的标签
本文关键字:标签 元素 svg id 获取 根据 | 更新日期: 2023-09-27 18:36:28
我想获取 svg 元素的标签。我编写了一个控制台应用程序和 svg 文件作为 xml。我正在尝试根据元素的 id 获取标签。当我在下面编写代码时,我得到了所有 id,但我无法获得该行的标签。如何访问标签?元素的一个例子是;
<rect
style="fill:#cccccc"
id="21"
width="35.823246"
height="35.823246"
x="299.87155"
y="65.999405"
class="seatObj"
inkscape:label="A22" />
代码是;
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load(@"seatChart-01.svg");
XmlNodeList elementList = doc.GetElementsByTagName("rect");
string[] labels = new string[elementList.Count];
for (int i = 0; i < elementList.Count; i++)
{
int id = int.Parse(elementList[i].Attributes["id"].Value);
labels[id] = elementList[i].Attributes["inkspace:label"].Value;
}
for (int i = 0; i < labels.Length; i++)
{
Console.WriteLine(labels[i]);
}
Console.ReadLine();
}
}
elementList[i].Attributes["inkspace:label"].Value
应该是
elementList[i].Attributes["label", "http://www.inkscape.org/namespaces/inkscape"].Value
我假设命名空间是这里的 inkscape 绘图程序的命名空间。要确认在根元素上查找如下所示的内容...
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"