2010-07-05 197 views
0

鑑於此XML,我如何檢索HEX顏色?如何獲取XML屬性?

<group> 
    <span style="color:#DF0000; font-style: italic; font-weight: bold">Webmaster</span> 
</group> 

我需要檢索樣式中的所有內容。然後我可以使用String.Substring方法和.IndexOf()來檢索我使用的顏色。

謝謝你的幫助。

櫃面任何人都好奇這是我結束了:

XElement str = doc.XPathSelectElement("/ipb/profile/group");     
       string color = str.Element("span").Attribute("style").Value; 

       color = color.Substring(color.IndexOf('#'), 7); 
       return color; 
+0

你可以給元素添加一個ID嗎? – 2010-07-05 02:49:33

回答

2

您可以使用LINQ到XML:

var elem = XElement.Parse(str); 
var attr = elem.Element("span").Attribute("style").Value; 

需要注意的是,如果你的HTML是不是完全好,形成,你應該考慮使用HTML Agility Pack來代替。

+0

像往常一樣的Slaks幫助。定時器結束時我會接受這個答案。 – 2010-07-05 02:56:09

0

我不確定文檔的其餘部分是什麼樣子,但希望這會指出您朝着正確的方向發展。

var node = xdoc.Descendants("group").Descendants("span").FirstOrDefault(); 

    string style = node.Attribute("style").Value; 

    string[] styleElements = style.Split(';'); 

    var colorElements = from x in styleElements 
         where x.StartsWith("color", StringComparison.InvariantCultureIgnoreCase) 
         select x; 

    string colorElement = (string)colorElements.FirstOrDefault();