Diskuze: Zjištění id v Node
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
IDčkem myslíš jméno tagu ? Pokud ano, tak
doc.getElementsByTagName("yourID");
poté si z toho vytáhneš hodnotu třeba přes
nodeList.item(i).getTextContent());
Mohl by jsi sem doplnit kompletní kód? Jsem poněkud zmaten, rptože nemůžu najít tu tvojí metodu. Kdyby něco, již jsme tento problém víceméně vyřešili, akorát trochu oklikou s vyhledáváním konkrétních typů nod, což může být užitečné i pro jiné věci...
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
dBuilder = dbFactory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(yourXML));
Document doc;
doc = dBuilder.parse(is);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("yourID");
String yourIDValue = null;
// projedeš NodeList
for (int i = 0; i < nList.getLength(); i++) {
// tady by mělo být "yourIDValue" nějaké pole, do kterého by jsi přidával hodnoty namísto jeho přepisování
yourIDValue = nList.item(i).getTextContent();
}
// nebo vezmeš první shodu
yourIDValue = nList.item(0).getTextContent();
Aha no, zde je problém, my se bavíme o JavaFX a ty o XML, tak proto to nerozumění...
To jste ovšem neřekli
Potom se to řeší přes
engine.getDocument()
a poté
doc.getElementById("yourId")
popř.
el.getTextContent();
ne ?
Ale my myslíme Node z javafx.scene.layout, jak říkám, už to nemusíš řešit, udělal jsem menší metodu, která to vyřešila tím, že vezme všechny Nody z Panu, a vyfiltruje z nich Nody určitého typu (např. Circle), mezi kterými pak jednotlivé IDčka vyhledáme
Zobrazeno 7 zpráv z 7.