SkarreMedlem sedan apr. 20012 427 inlägg 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 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 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 Det är inte så att du måste ha en backslash som avslut i din extension_dir?
MatteMedlem sedan aug. 20002 975 inlägg
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 Tack, jag ska kolla upp det.
SkarreMedlem sedan apr. 20012 427 inlägg 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 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