1

这是我目前正在使用的(简化的)XML:

<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="242.359" height="557.669" id="svg2" version="1.1" xmlns="http://www.w3.org/2000/svg">   
    <g transform="translate(71.9446563720703,1057.6692276001)">
        <!--nodes--> 
        <polygon stroke="#454545" stroke-opacity="1" stroke-width="1" fill="#00ff00" fill-opacity="1" points="11.35 -859.014 75 -822.719 138.65 -859.014 75 -895.31" />
        <text x="51.175" y="-852.249" font-family="Arial" font-size="16" fill="#121212">Node1</text>
        <ellipse fill="#00ff00" fill-opacity="1" stroke="#454545" stroke-opacity="1" stroke width="1" cx="0" cy="-571.945" rx="69.945" ry="69.945" />
        <text x="-61.945" y="-565.179" font-family="Arial" font-size="16" fill="#121212">Node2</text>
    </g>
</svg>

在基本层面上,我想要完成的是获取所有“文本”元素,而不是形状。像这样简单的东西:

List<XElement> textList = xml.Descendants("text").ToList();

但是,这不起作用。我想到 XML 可能没有被正确序列化,但我认为情况并非如此。XML 当前是使用 XElement.Parse() 从字符串创建的。具体来说,该字符串实际上是一个 SVG 文件,但我看不出这会如何影响它充当 XML 的能力。如果这就是它不起作用的原因,那么很高兴知道这一点。

4

0 回答 0