|
|
|
как грамотно распотрошить дерево DOM
|
|||
|---|---|---|---|
|
#18+
Джентльмены, проблема довольно приземленная средствами явы юзаю XML... имется XML фаил: <?xml version="1.0" encoding="UTF-8"?> <AdressBook total="2"> <person> Ivanov </person> </AdressBook> соответственно работаю следующими классами import java.io.*; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; выглядит это так: File f = new File("data.xml");//data.xml находится в папке проэкта в workspace Document doc; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); doc = db.parse(f); Node node = doc.getFirstChild(); System.out.println(node.getNodeName()); Node node1 = node.getFirstChild(); System.out.println(node1.getNodeName()); NodeList children = node.getChildNodes(); Node node2 = children.item(1); System.out.println(node2.getNodeName()); } catch (Exception e){ System.out.println("ERROR!"); } Output выдаёт в первый раз AdressBook во второй раз #text, а в третий как не странно person... Причем node2.NodeValue null... В чем проблема??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 12:44:04 |
|
||
|
как грамотно распотрошить дерево DOM
|
|||
|---|---|---|---|
|
#18+
откройте для себя jdom и не мучайтесь. согласно спецификации на xml распарсилось все верно. почитайте хорстмана - у него есть глава про xml, по моему во 2ом томе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 12:59:31 |
|
||
|
как грамотно распотрошить дерево DOM
|
|||
|---|---|---|---|
|
#18+
Выдаёт #text потому что это пробел между тегами. От них можно избавится только, если использовать DTD и устанавливать на фабрике setIgnoringElementContentWhitespace(true). Без DTD этот апроуч не будет работать. Также не забудь установить setValidating(true). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 15:59:07 |
|
||
|
как грамотно распотрошить дерево DOM
|
|||
|---|---|---|---|
|
#18+
автороткройте для себя jdom и не мучайтесь. +1000000000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2007, 16:13:27 |
|
||
|
как грамотно распотрошить дерево DOM
|
|||
|---|---|---|---|
|
#18+
Да всё нормально работает. Только значение текстовой ноды надо получать немножко иначе. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2007, 11:57:35 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34412157&tid=2146295]: |
0ms |
get settings: |
19ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
59ms |
get topic data: |
19ms |
get forum data: |
6ms |
get page messages: |
81ms |
get tp. blocked users: |
3ms |
| others: | 347ms |
| total: | 573ms |

| 0 / 0 |
