IHTMLelement.getAttribute do stringa

0

Cześć wszystkim,
Mam drobny problem, który, jestem przekonany, dla Was będzie błahostką :)
W swoim programie wielokrotnie korzystam z metody GetAttribute. Poniżej pseudokod:

IHTMLDocument3 doc3 = (IHTMLDocument3)wb.Document;
IHTMLElement elem;
string a, b;
elem= doc3.GetElementById("jakieśtamID");
a= elem.GetAttribute("src");
b= elem.GetAttribute("style");

I tu pojawia się problem. Konkretnie badanym przeze mnie elementem jest jakiś obrazek.
Jego źródło ("src") bez żadnej konwersji bez problemu zapisuje się w stringu.
Niestety ("style") zupełnie nie chce się poddać temu procesowi, nawet jeżeli napiszę

b = Convert.ToString(elem.GetAttribute("style"));

W pierwszym przypadku (bez konwersji), program się kompiluje, ale podczas wykonywania wyskakuje błąd, że COM element nie da się zapisać do stringu.
W drugim przypadku wszystko działa, tyle, że w sposób bezuzyteczny. b otrzymuje wartość "System._ComObject".

Po zastosowaniu funkcji "inspect element" w Operze, okazuje się, że ten konkretny element z którym akurat mam problem wygląda tak:

<img id="img_chessboard_11606_a3" class="chessboard_11606_piece chess_com_piece chess_com_draggable" style="position: absolute; top: 265px; left: 0px; margin: 0px; padding: 0px; display: block; width: 53px; height: 53px; z-index: 10; -webkit-transform: translateZ(0px);" src="//images.chesscomfiles.com/chess-themes/pieces/classic/53/wp.png">

Chciałbym otrzymać stringa
"position: absolute; top: 265px; left: 0px; margin: 0px; padding: 0px; display: block; width: 53px; height: 53px; z-index: 10; -webkit-transform: translateZ(0px);"

Macie sugestie jaką inną metodę mógłbym zastosować? Przyszło mi do głowy cały dokument przerobić na stringa, a potem go przeszukiwać, ale wydaje mi się, że to strasznie bez sensu.

z góry dzięki :)

edit: nie umiem skonwertować dokumentu do stringa, więc tym bardziej potrzebuję pomocy ;( przeszukiwanie stringa będzie mało fajne, ale przynajmniej jest to jakieś rozwiązanie. Więc jeżeli ktoś wie jak skonwertować źródło strony z iWebBrowserApp do stringa, to również będę wdzięczny

edit2: znalazłem rozwiązanie, przepraszam za kłopot. w razie gdyby ktoś miał podobny problem:

string s = elem.outerHTML;

sprawa rozwiązana :) Oczywiście dostajemy troszkę więcej niż samo "style" ale reszta to już tylko operacje na stringach

0

Czy chodzi o metodę opisaną w poniższej dokumentacji :P
http://msdn.microsoft.com/en-us/library/aa752280(v=vs.85).aspx

0
szogun1987 napisał(a):

Czy chodzi o metodę opisaną w poniższej dokumentacji :P
http://msdn.microsoft.com/en-us/library/aa752280(v=vs.85).aspx

Tak. Właśnie o to chodzi. Tak jak mówiłem, problem rozwiązałem w inny sposób, ale jeżeli ktoś wie jak uzyskać ten parametr w formie stringa to jestem chętny, żeby się dowiedzieć ;)

0

Możesz użyć jak niżej dostaniesz string ale tekst stylu CSS ale nie koniecznie będzie tak sformatowany jak w dokumencie HTML (atrybuty stylu będą się zgadzały choć ich kolejność i wielkość liter może być inna):

b = elem.style.cssText;
0

Według dokumentacji drugi parametr steruje formatem do którego metoda stara się konwertować wartość atrybutu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1