Как я могу получить атрибут XML? - PullRequest
0 голосов
/ 05 июля 2010

Учитывая этот XML, как я могу получить цвет HEX?

<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;

Ответы [ 2 ]

2 голосов
/ 05 июля 2010

Вы можете использовать LINQ-to-XML:

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

Обратите внимание, что если ваш HTML не совсем правильно сформирован, вы должны вместо этого использовать HTML Agility Pack .

0 голосов
/ 05 июля 2010

Я не уверен, как выглядит остальная часть вашего документа, но, надеюсь, это направит вас в правильном направлении.

    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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...