NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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.

Aktivity
Avatar
vlastajuracka:2.10.2016 19:47

Procházím Node a potřeboval bych jak se dělá to že prvek najdu podle jeho id... Díky moc za každou pomoc :)

 
Odpovědět
2.10.2016 19:47
Avatar
nalimleinad
Člen
Avatar
Odpovídá na vlastajuracka
nalimleinad:7.10.2016 22:01

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());
 
Nahoru Odpovědět
7.10.2016 22:01
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na nalimleinad
pocitac770:8.10.2016 0:03

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...

 
Nahoru Odpovědět
8.10.2016 0:03
Avatar
nalimleinad
Člen
Avatar
Odpovídá na pocitac770
nalimleinad:8.10.2016 8:53
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();
Editováno 8.10.2016 8:53
 
Nahoru Odpovědět
8.10.2016 8:53
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na nalimleinad
pocitac770:8.10.2016 10:57

Aha no, zde je problém, my se bavíme o JavaFX a ty o XML, tak proto to nerozumění...

 
Nahoru Odpovědět
8.10.2016 10:57
Avatar
nalimleinad
Člen
Avatar
nalimleinad:8.10.2016 12:10

To jste ovšem neřekli :)

Potom se to řeší přes

engine.getDocument()

a poté

doc.getElementById("yourId")

popř.

el.getTextContent();

ne ?

Editováno 8.10.2016 12:11
 
Nahoru Odpovědět
8.10.2016 12:10
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na nalimleinad
pocitac770:8.10.2016 16:43

Ale my myslíme Node z javafx.scene.la­yout, 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

Editováno 8.10.2016 16:43
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
8.10.2016 16:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.