Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > dom4j


Автор: diablero 22.12.2006, 22:14
Народ, кто знает разъясните как им пользоваться.
С обработкой простого документа я разобрался.
Код

<?xml version="1.0" encoding="Windows-1251"?>
<Songs>
<mp3 name="Simon">
  <artist>Lifehouse</artist>
  <album>No Name Face</album>
  <year>2000</year>
  <genre>Alternative Rock</genre>
  <track>6</track>     
</mp3>

<mp3 name="Hands Clean">
  <artist>Alanis Morrisette</artist>
  <album>Under Rug Swept</album>
  <year>2002</year>
  <genre>Alternative Rock</genre>
  <track>6</track>     
</mp3>

<mp3 name="Alive">
  <artist>Lifehouse</artist>
  <album>Payable On Deatch</album>
  <year>2002</year>
  <genre>Metal</genre>
  <track>6</track>     
</mp3>

</Songs>

Код

try
        {
            File file = new File("menu.xml");
            SAXReader xmlReader = new SAXReader();

            Document document = xmlReader.read(file);

            Element root = document.getRootElement();

            for (Iterator i = root.elementIterator(); i.hasNext(); )
            {
                Element element = (Element) i.next();
                Attribute attribute = element.attribute("name");

                System.out.println(attribute.getValue());

                for (Iterator j = element.elementIterator(); j.hasNext(); )
                {
                    Element info = (Element) j.next();
                    String name = info.getName();
                    String text = info.getText();
                    
                    System.out.println(name+"="+text);
                }
            }
            Element author1 = root.addElement("mp3")
                    .addAttribute( "name", "Alanis" );
            author1.addElement("artist")
                    .addText("Lifehouse");

            XMLWriter writer = new XMLWriter(new FileWriter("menu1.xml"));

            writer.write(document);
            writer.close();

        }
        catch(Exception e)
        {
            e.getMessage();
        }

Обрисуйте идеологию вставки и удаления.
Например мне нужно удалить полностью информацию:
 
Код

<mp3 name="Simon">
  <artist>Lifehouse</artist>
  <album>No Name Face</album>
  <year>2000</year>
  <genre>Alternative Rock</genre>
  <track>6</track>     
</mp3
 
из всего файла.
Или вставка, а еще если вставка в упорядоченный файл?
Каждый раз его весь перебирать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)