Синтаксический анализатор XML

Я пытаюсь извлечь n0Y7ezLlIYA8R0K54rEmHaTOraBQVSPDjQaGlQxlGso4jdVN1kRxtcfskEs= использование w3c dom

<html>
<div id='token' style='display:none;'>
n0Y7ezLlIYA8R0K54rEmHaTOraBQVSPDjQaGlQxlGso4jdVN1kRxtcfskEs=
</div>
</html>

но я, кажется, застреваю

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(con.getInputStream());
NodeList list = doc.getElementsByTagName("div");

Может кто-то указывать на меня на некоторые основные учебные руководства, которые помогли бы мне решить свою дилемму.Спасибо.

Править:

Хорошо я заставил это работать, но это кажется немного неуклюжим

String token;
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(con.getInputStream());
Element root = doc.getDocumentElement();
NodeList items = root.getElementsByTagName("html");

for(int i = 0; i < items.getLength(); i++) {

    Message message = new Message();
    Node item = items.item(i);
    NodeList properties = item.getChildNodes();

    for(int j = 0; j < properties.getLength(); j++) {
        Node property = properties.item(j);
        String name = property.getNodeName();

        if(name.equalsIgnoreCase("div")) {
            token = property.getFirstChild().getNodeValue());                       
        }

    }

}

Существует ли более симпатичный способ получить маркер?

1
задан lemon 20 May 2010 в 04:22
поделиться

1 ответ

VTDGen vg= new VTDGen();

if (vg.parseFile("input.xml",false)){
   VTDNav vn = vg.getNav();
   vn.toElement(VTDNav.FIRST_CHILD);
   int i = vn.getText();
   if (i!=-1)
   System.out.println(" text node is "+vn.toString(i));

}
1
ответ дан 3 September 2019 в 00:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: