Как отключить JavaScript в mshtml. HTMLDocument (.NET)

В случае, если вы хотите получить другие значения в массиве вместе со странами:

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

?>
6
задан 2 revs, 2 users 100%Dev Dona 1 October 2008 в 14:01
поделиться

4 ответа

Если у Вас уже есть '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;
     }
  }
}
1
ответ дан 17 December 2019 в 00:17
поделиться

Это кажется, что Вы - screenscraping некоторый ресурс, затем пытаясь программно сделать что-то w/получающийся HTML?

Если Вы знаете, что это приходит на допустимый XHTML раньше, то загрузите строку XHTML (который является действительно XML) в объект XMLDocument и работу с ним тот путь.

Иначе, если это потенциально недопустимо, или не правильно сформированное, HTML затем, Вам будет нужно что-то как hpricot (кроме этого библиотека Ruby),

0
ответ дан 17 December 2019 в 00:17
поделиться
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()
6
ответ дан 17 December 2019 в 00:17
поделиться

Если я правильно помню, MSHTML автоматически наследует настройки IE.

Таким образом, если вы отключите javascript в Internet Explorer для пользователя, выполняющего код, Javascript не должен работать и в MSHTML.

0
ответ дан 17 December 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: