jonne Medlem sedan jan. 2001 1 154 inlägg Trådstart 30 okt. 2001 14:59 #1 Någon som har en bra tutorial eller vet hur man går till väga om man vill bygga upp en sökmotor som ska söka igenom en eller flera XML filer?
S SPiN Medlem sedan mars 2000 7 896 inlägg Vad ska du köra på för plattform? Är det en Windows maskin skulle jag använda mig av Microsoft XMLDOM genom ett COM-objekt, även om det skulle gå segt. Orsaken är att PHP och XML, vad jag har märkt, inte är speciellt väl utbyggt. Det finns ett par parsers för XML i PHP, men ingen inbyggd eller avancerad.
Jag har inte sett några tutorials heller, men du kan alltid kolla på www.phpbuilder.com om dom har någon artikel.
jonne Medlem sedan jan. 2001 1 154 inlägg Ska köra det på en linux maskin. Hittade lite om php och xml på phpbuilder och melonfire men dock inget om hur man gör för att söka i dem.
S SPiN Medlem sedan mars 2000 7 896 inlägg I våras skrev jag ihop en XML Parser-klass, men jag har glömt bort om den fungerade bra, om den fungerade övehuvudtaget, osv.
Du kan ju alltid testa den, har lagt upp den här .
Jag hittade också ett gammalt script, där jag använde mig av den, och det ser ut något så här:
$foretag = $HTTP_POST_VARS['companyForetag'];
$land = $HTTP_POST_VARS['companyLand'];
$stad = $HTTP_POST_VARS['companyStad'];
$cntForetag = 0;
$cntLand = 0;
$cntStad = 0;
$xml = new Parser("foretag.xml");
$rot = $xml->getRoot();
$kids = $xml->getChildren($rot);
while($nodes = array_shift($kids)) {
if($foretag != "" && $xml->getContent($nodes, "namn") == $foretag) {
$arrForetag[$cntForetag]["foretagsnamn"] = $foretag;
$arrForetag[$cntForetag]["adress"] = $xml->getContent($nodes, "gatuadress") . ", " . $xml->getContent($nodes, "postadress");
$arrForetag[$cntForetag]["land"] = $xml->getContent($nodes, "land");
$arrForetag[$cntForetag]["telefonnummer"] = $xml->getContent($nodes, "telefonnummer");
$arrForetag[$cntForetag]["omraden"] = $xml->getContent($nodes, "omraden");
$arrForetag[$cntForetag]["person"] = $xml->getContent($nodes, "kontaktperson");
$email = $xml->getAttributeContent($nodes, "email");
$arrForetag[$cntForetag]["email"] = $email[0];
$cntForetag++;
}
}
Varför glömmer man, eller egentligen skiter i, att dokumentera sina klasser/funktioner? Man kan väl ivf kommentera dom, så att man vet vad dom gör...
Man glömmer ju så jäkla snabbt annars, då man inte använder dem.
Hur som helst, hoppas du får användning av klassen!
Lycka till!
S SPiN Medlem sedan mars 2000 7 896 inlägg Kom på att det kan vara bra att visa hur min XML-fil var uppbyggd också...
foretag.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="foretag.xsl" type="text/xsl"?>
<foretagslista>
<foretag>
<namn>Ett_företag</namn>
<gatuadress>Företagsgatan 6</gatuadress>
<postadress>123 45 Företagarberg</postadress>
<land>Företagaristan</land>
<telefonnummer>000-123123</telefonnummer>
<omraden>IT_Nätverk, IT_Programmering, IT_Webdesign, IT_Mjukvarutillverkning</omraden>
<kontaktperson email="personen@foretaget.se">Personen</kontaktperson>
</foretag>
</foretagslista>
Bara så du vet