webForumDet fria alternativet

DOMXML på IIS 5.1

7 svar · 344 visningar · startad av Skarre

SkarreMedlem sedan apr. 20012 427 inlägg
#1

Jag försöker få igång DOMXML på min Windows XP-burk och det fungerar inte alls. Koden jag försöker köra är exempelkod från devarticles:

<?
$theXML = "<?xml version='1.0'?>";
$theXML .= " <website><url>";
$theXML .= " http://www.devarticles.com";
$theXML .= " </url></website>";

$xmlDoc = xmldoc($theXML);
$root = $xmlDoc->root();
$node = array_shift($root->children());
echo $node->content;
?>

PHP Warning: Unknown(): Unable to load dynamic library 'C:\PHP\extensions\php_domxml.dll' - Det går inte att hitta den angivna modulen. in Unknown on line 0

Det roliga är att filen faktiskt finns exakt där felmeddelandet hävdar att den inte finns.

Så här ser det de relevanta raderna ut i php.ini:

extension_dir = "C:\PHP\extensions"
extension=php_domxml.dll

Jag läste någonstans att man måste kopiera "iconv.dll" från php-zippen till c:\windows\windows32 vilket jag också gjort.

SPiNMedlem sedan mars 20007 896 inlägg
#2

Har du fler än ett ( 1 ) dynamiskt bibliotek aktiverat i din php.ini? Jag vet att jag hade problem med det förut, jag kunde endast använda en extension åt gången.

SkarreMedlem sedan apr. 20012 427 inlägg
#3

Jag har i och för sig även GD, men jag fick samma meddelande när jag deaktiverade GD.

SDCdMedlem sedan jan. 2001795 inlägg
#4

Det är inte så att du måste ha en backslash som avslut i din extension_dir?

MatteMedlem sedan aug. 20002 975 inlägg
#5

Det roliga är att filen faktiskt finns exakt där felmeddelandet hävdar att den inte finns.

Kommer din dll-fil från samma PHP-version som php.exe ?

Om dll-filen är nyare eller äldre kan du få den effekten.

SkarreMedlem sedan apr. 20012 427 inlägg
#6

Tack, jag ska kolla upp det.

SkarreMedlem sedan apr. 20012 427 inlägg
#7

Jag lyckas köra koden på webbhotellet, men det är fortfarande lite att reda ut. Med följande kod läser jag, och skriver ut data från ett xml-dokument (http://www.basket.se/feed/news.asp?n=10)

<?
if ($xml_document = domxml_open_file('http://www.basket.se/feed/news.asp?n=10')) {
	$root = $xml_document->document_element();
	$a_articles = $root->get_elements_by_tagname("Article");
	for ($i = 0; $i < count($a_articles); $i++) {
		$children = $a_articles[$i]->child_nodes();
		foreach($children as $child) {
			echo '<p>';
			print 'Name: '.$child->node_name().'<br/>';
			print 'Type: '.$child->node_type().'<br/>';
			print 'Content: '.$child->get_content().'<br/>';
			echo '</p>';
		}
		echo '<hr>';
	}
}
?>

Varje iteration av taggen "Article" ser ut enligt följande:

Name: #text
Type: 3
Content:

Name: ContentName
Type: 1
Content: Seger även mot Estland - Tre raka för kadetterna!

Name: #text
Type: 3
Content:

Name: ContentPublishedTime
Type: 1
Content: 2004-03-16 16:57:34

Name: #text
Type: 3
Content:

Name: NewsLink
Type: 1
Content: http://www.basket.se/t3.asp?p=4658&x=1&a=107881

Name: #text
Type: 3
Content:

Och jag undrar:

  • Vad är dessa extra noder som ligger mellan de "riktiga" noderna för någonting? Alltså de som heter #text och inte innehåller någonting.
  • Hur gör jag för att å, ä och ö ska skrivas ut korrekt?
Zeke82Medlem sedan mars 20044 inlägg
#8

Tjena. Jag har lagt DLL filerna "php_iconv" och "iconv" samt "dom_xml" i "Windows/System" mappen och allt funkar fint.

Prova du med :)

MVH / Zeke82

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)