|
|
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
Есть xml, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 10:24 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
babkaкак это воплотить в жинь с помощью Java ну и в чём проблема?, DOM вам в руки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 10:32 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
Разпарсить DOM'ом. Отредактировать коллекцию. Создать Document записать в него коллекцию и заменить файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 10:40 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
2ТимоН, а не подскажете на примере кода как это сделать или ссылки на русскую литературу, а то у меня с английским туговато. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 10:49 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
babka2ТимоН, а не подскажете на примере кода как это сделать или ссылки на русскую литературу, а то у меня с английским туговато. Здесь, внизу страницы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 10:59 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
или с помощью таких вещей как jaxb и castor - они по вашей xsd схеме сгенерят классы, позволяющие работать с хмл как с обычными объектами ( добавить новый элемент в массив пользователей, создать объект "пользователь и т.д.") (castor интегрирован с JBuilder - мона мышкой все провернуть ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 11:05 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
тынц на русские ресурсы по поводу: xsd схем, jaxb, castor в студию!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 11:11 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
может я тупой, я ничего не понял считываю xml вот так: <%! private Element getFirstElementByTagName(Element element, String tagName) { Element e = null; NodeList nl = element.getElementsByTagName(tagName); e = (Element) nl.item(0); return e; } %> <%! private String getNodeText(Node node) { NodeList list = node.getChildNodes(); for (int i = 0; i < list.getLength(); i++) { Node child = list.item(i); if (child.getNodeType() == Node.CDATA_SECTION_NODE) { CDATASection section = (CDATASection) child; return section.getData(); } else if (child.getNodeType() == Node.TEXT_NODE) { return child.getNodeValue(); } } return ""; } %> <% String tmp=""; String tmp1=""; ArrayList users = new ArrayList(); ArrayList pass = new ArrayList(); ArrayList role = new ArrayList(); FileInputStream fis = new FileInputStream(request.getRealPath("\\")+"pass.xml"); Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(fis); Element rootElement = doc.getDocumentElement(); NodeList usersNodeList = rootElement.getElementsByTagName("user"); Element tag; for(int i=0;i<usersNodeList.getLength();i++) { Element userElement = (Element)usersNodeList.item(i); tag = getFirstElementByTagName(userElement, "user-name"); users.add(getNodeText(tag)); System.out.println(tag); tag = getFirstElementByTagName(userElement, "pass"); pass.add(getNodeText(tag)); tag = getFirstElementByTagName(userElement, "role"); role.add(getNodeText(tag)); } %> хочу что-то добавить:Document doc = (Document)session.getAttribute("doc"); Element root = (Element)doc.createElement("user"); root.appendChild(root); root.appendChild(doc.createTextNode("user-name")); root.appendChild(doc.createTextNode("pass")); root.appendChild(doc.createTextNode("role")); надо в user-name и т.д. записать инфу и сохранить изменения, вот и неплохо было бы поиск организовать по user-name, чтобы можно было удалить ветку user, котораю содержит этот user-name. Помогите уж, кто может!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 11:25 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
тока аглицкие знаю :) (java.sun.com/xml/jaxb/ www.castor.org/) ну создать xsd по xml - мона с помощью XMLSpy мышкой ( он сам все генерит, нуна тока опции нужны поставить в некоторых случаях - за 5-10 минут мона разобраться) в JBuilder кастором нагенерить классы или в командной строке если jaxb потом для jaxb (для castor аналогично): public Auth parseXML(InputStream is) throws JAXBException { JAXBContext jc = JAXBContext.newInstance("неймспейс для нашего xml "); Unmarshaller u = jc.createUnmarshaller(); Auth auth = (Auth) u.unmarshal(is); return auth; } потом примерно так работаем: User[] users = Auth.getUsers(); users[0].setPass("NewPass"); users[0].setPass("NewPass"); из объекта Auth в хмл примерно так :String xml = Marshaller.marshal(auth); Имхо, удобнее для таких случаев юзать jaxb , чем DOMom мучаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 11:32 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
2zalexaka, а гда мне нати dom4j ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2005, 11:55 |
|
||
|
Запись в XML
|
|||
|---|---|---|---|
|
#18+
Еще вариант: Парсить можно при помощи библиотеки org.apache.commons.digester.Digester Запись в файл: стандартно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=780&tid=2151405]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 336ms |

| 0 / 0 |
