Jeg har hentet en hjemmeside ned fra nettet, konverteret hele hjemmesiden til XML, fundet den korrekt tabele jeg ønsker at hente data ud fra, er yderligere kommet ned til den kolonne "td" som jeg ønsker at hente data ud fra.
Ved at bruge metoden: tdNode.getNodeName(); ved jeg det er en "td", men jeg kan simpelthen ikke få data ud af kolonnen.
Har prøvet følgende: tdNode.getFirstChild().getNodeValue(); tdNode.getNodeValue(); tdNode.getFirstChild().getTextContent(); tdNode.getTextContent();
Ingen af disse metoder giver mig noget data. Er der nogle der ved hvad jeg har gjort galt?
Det skal siges at jeg har en anden funktion, hvor jeg bruger tdNode.getFirstChild().getNodeValue(); til at hente data ud fra en tabel og den virker uden problemer. Har sammenlignet begge metoder og kan ikke finde nogle forskelle.
Det drejer sig forresten om en tabel med følgende opbygning:
<table> <tr> <td>DATA JEG VIL HAVE UD</td> </tr> </table>
(Attributter udeladt)
Altså en simpel tabel bestående af en række og en kolonne
Jeg har den rigtige tabel som en "Node" variable, så hvis nogen eventuelt havde et kode eksempel som viser hvordan jeg får dataen ud fra "td" elementet, så ville jeg være meget taknemmelig.
Har med vilje ikke sat hele metoden ind, da den nok forvirre mere end den gavner.
Det er skam ganske almindelig java - ikke javascript.
Hvis det er til nogen hjælp så kan jeg da lige smide koden her:
public void Test(StringReader r){ System.out.println("TEST AF SIDE VISNING"); Tidy t = new Tidy(); t.setQuiet(true); t.setShowWarnings(false); org.w3c.dom.Document tidyDOM = t.parseDOM(r, null); org.w3c.dom.NodeList n = tidyDOM.getElementsByTagName("table");
****HERFRA OG NED LIGGER PROBLEMET - KAN IKKE FÅ INDHOLDET AF TD UD**** org.w3c.dom.NodeList trNodes = Tablenodes.getChildNodes(); System.out.println("Antal rækker: " + trNodes.getLength()); Node trNode = trNodes.item(0);
Får følgende fejl når koden forsøger at ændre hjemmesiden til XML
[Fatal Error] :335:46: The entity "nbsp" was referenced, but not declared.
Det skal siges at siden jeg henter data fra er enormt ringe designet rent kodemæssigt, så er XPath rent følsom overfor dårligt designet sider, eller kan den selv sortere ting fra?
Og et helt andet spørgsmål. Er nedenstående en korrekt måde at identificere en tabel? Node wanted = (Node) xpath.evaluate("//html/body/table[@class='headbox'][@cellpadding='1']/tr/td/text()", doc.getDocumentElement(), XPathConstants.NODE);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.