2010-12-04 61 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