В случае, если вы хотите получить другие значения в массиве вместе со странами:
<?php
$details = array(
"name" => "Cherry",
"desc" => "I'm a cherry.",
"keys" => array(
"Africa",
"India",
"America"
),
"pict" => "image1.png",
);
foreach( $details as $key => $detail ) {
if( is_array( $detail ) && $key == 'keys' ) {
foreach( $detail as $country ) {
echo $country;
}
} else {
echo $detail;
}
}
?>
Если у Вас уже есть 'HTML' как строка, и Вы просто хотите получить доступ к представлению DOM его, почему "рендеринг" он к браузеру управляет вообще?
Я не знаком с технологией .NET, но должен быть своего рода тип StringToDOM/StringToJSON вещи, которая лучше удовлетворила бы Вашим потребностям.
Аналогично, если переменной 'HTML', которую Вы используете выше, является URL, затем просто используйте wget или подобный для получения разметки как строки и синтаксического анализа с применимым инструментом.
Я искал бы библиотеку.Net XML/DOM и использование это. (снова, я полагал бы, что это будет частью языка, но я не уверен),
PS после быстрого Google я нашел этот (источник). Не уверенный, если помогло бы, если бы необходимо было использовать это в HTMLDocument вместо этого.
if(typeof(DOMParser) == 'undefined') {
DOMParser = function() {}
DOMParser.prototype.parseFromString = function(str, contentType) {
if(typeof(ActiveXObject) != 'undefined') {
var xmldata = new ActiveXObject('MSXML.DomDocument');
xmldata.async = false;
xmldata.loadXML(str);
return xmldata;
} else if(typeof(XMLHttpRequest) != 'undefined') {
var xmldata = new XMLHttpRequest;
if(!contentType) {
contentType = 'application/xml';
}
xmldata.open('GET', 'data:' + contentType + ';charset=utf-8,' + encodeURIComponent(str), false);
if(xmldata.overrideMimeType) {
xmldata.overrideMimeType(contentType);
}
xmldata.send(null);
return xmldata.responseXML;
}
}
}
Это кажется, что Вы - screenscraping некоторый ресурс, затем пытаясь программно сделать что-то w/получающийся HTML?
Если Вы знаете, что это приходит на допустимый XHTML раньше, то загрузите строку XHTML (который является действительно XML) в объект XMLDocument и работу с ним тот путь.
Иначе, если это потенциально недопустимо, или не правильно сформированное, HTML затем, Вам будет нужно что-то как hpricot (кроме этого библиотека Ruby),
Dim Document As New mshtml.HTMLDocument
Dim iDoc As mshtml.IHTMLDocument2 = CType(Document, mshtml.IHTMLDocument2)
'add this code
iDoc.designMode="On"
iDoc.write(html)iDoc.close()
Если я правильно помню, MSHTML автоматически наследует настройки IE.
Таким образом, если вы отключите javascript в Internet Explorer для пользователя, выполняющего код, Javascript не должен работать и в MSHTML.