2010-12-04 56 views
0

你知道如何在vb中用linq提取“style”属性的属性吗? 例如:从svg.xml(一个典型的SVG文件类型)svg to html使用linq

<rect x="20" y="20" width="250" height="250" 
style="fill:blue;stroke:pink;stroke-width:5;"/> 

的常规属性很容易得到:在VB中,使用LINQ,你会指定@width提取XML“宽度”属性值 - 我们如何引用“style”属性的“fill”,“stroke”或“stroke-width”属性来提取它们的值?这样做的目标是将一个svg文件转换为html,并显示填充了颜色的矩形。这必须在visual basic中使用linq来完成。有任何想法吗?

回答

2

style属性的内容不是XML,它只是文本(实际上,实际上是CSS)。所以Linq to XML不能帮助你解析它。你可以做的是将属性的内容提取到一个字符串(使用Linq to XML),然后手动解析字符串

Dim style As String = ... ' your Linq query 
Dim parts As String() = style.Split(New Char() {';'}, StringSplitOptions.RemoveEmptyEntries) 
Dim fillPart = parts.FirstOrDefault(Function(s) s.StartsWith("fill:") 
Dim fill As String 
If fillPart IsNot Nothing Then 
    parts = style.Split(';') 
    fill = parts(1) 
End If 
+0

如何关闭或取消问题? – Dan 2010-12-05 02:48:09