Witam,
Próbuję napisać prosty program parsujący plik XML za pomocą biblioteki Digester fundacji Apache. (http://commons.apache.org/digester/). Kod wydaje się być w porządku, zgadza się z przykładami znalezionymi w necie.
Oto zawartość pliku xml:
<Osoba>
<DaneOsobowe>
<Imie>Jan</Imie>
<Nazwisko>Iksisnki</Nazwisko>
</DaneOsobowe>
</Osoba>
Oto kod mojego programu:
import org.apache.commons.digester.Digester;
import java.io.*;
import org.apache.commons.io.FileUtils;
public class Test {
public static void main(String[] args) {
try{
File f = new File("dane.xml");
String content = FileUtils.readFileToString(f);
Digester dig = new Digester();
dig.setValidating(false);
dig.addObjectCreate("*/DaneOsobowe", Person.class);
dig.addBeanPropertySetter("*/DaneOsobowe/Imie", "name");
dig.addBeanPropertySetter("*/DaneOsobowe/Nazwisko", "surname");
Person person = (Person) dig.parse(content);
}
catch (Exception ex) {ex.printStackTrace();}
}
public class Person{
String name;
String surname;
}
}
A oto komunikat jaki otrzymuję od kompilatora:
java.net.MalformedURLException: no protocol: <Osoba>
<DaneOsobowe>
<Imie>Jan</Imie>
<Nazwisko>Iksisnki</Nazwisko>
</DaneOsobowe>
</Osoba>
at java.net.URL.<init>(URL.java:583)
at java.net.URL.<init>(URL.java:480)
at java.net.URL.<init>(URL.java:429)
at org.apache.commons.digester.Digester.createInputSourceFromURL(Digester.java:2092)
at org.apache.commons.digester.Digester.parse(Digester.java:1934)
at Test.main(Test.java:25)
Process completed.
Co może być przyczyną? Czy ktoś z forumowiczów miał tego typu problemy?