login  Naam:   Wachtwoord: 
Registreer je!
 Forum

XML-bestand uitlezen met JAVA

Offline Martijn2008 - 17/08/2012 12:39
Avatar van Martijn2008PHP beginner Hallo allemaal,

Ik ben nieuw met JAVA. Als Integrated Development Environment (IDE) heb ik gekozen voor Eclipse.

Op het internet heb ik tal van oplossingen gevonden om een XML-bestand uit te lezen met JAVA. Een voorbeeld daarvan is gebruik te maken van XPATH.

Echter ben ik op zoek naar een aanpak die zo min mogelijk energie kost om een XML bestand uit te lezen.

Als voorbeeld heb ik onderstaand XML-bestand samengesteld. Ik ben benieuwd hoe jullie deze met JAVA zouden uitlezen. Liefst zou ik een voorbeeld zien i.c.m. een property class.

  1. <FriendList>
  2. <Friend Image="Sanne01.jpg">
  3. <Name>Sanne</Name>
  4. <Age>21</Age>
  5. </Friend>
  6. <Friend Image="Thomas03.jpg">
  7. <Name>Thomas</Name>
  8. <Age>22</Age>
  9. </Friend>
  10. <Friend Image="Melissa24.jpg">
  11. <Name>Melissa</Name>
  12. <Age>23</Age>
  13. </Friend>
  14. </FriendList>


Bedankt alvast.

Martijn

6 antwoorden

Gesponsorde links
Offline larssy1 - 17/08/2012 13:27
Avatar van larssy1 MySQL beginner Verschilt van persoon tot persoon denk ik..

Ik zelf parse XML in Android.. en daarme wordt er gebruik gemaakt van de org.w3c.dom library.

Hiermee zou het dan op het volgende uit kunnen komen:

  1. public List<friend> getFriends() {
  2.  
  3. // variabelen
  4. List<friend> lstFriends = new ArrayList<friend>();
  5. FriendsStruct friendsStruct = new FriendsStruct();
  6.  
  7. // url ophalen en parsen
  8. Document doc = null; // normaal wat geparste stuf mbv DocumentBuilderFactory
  9.  
  10. // Waardes
  11. NodeList xmlFriends = doc.getElementsByTagName("Friend");
  12.  
  13. // looping
  14. for (int i = 0; i < xmlFriends.getLength(); i++) {
  15.  
  16. Element xmlFriend = (Element) xmlFriends.item(i);
  17. friend _friend = friendsStruct.new friend();
  18.  
  19. _friend.image = xmlFriend.getAttribute("Image");
  20. _friend.name = xmlFriend.getFirstChild();
  21. _friend.name = xmlFriend.getLastChild();
  22.  
  23. lstFriends.add(_friend);
  24.  
  25. }
  26.  
  27. return lstFriends;
  28.  
  29. }


kan natuurlijk zijn dat ie niet klopt.. maar je krijgt t idee..
Bedankt door: Martijn2008
Offline Martijn2008 - 17/08/2012 13:45
Avatar van Martijn2008 PHP beginner Is er geen mogelijkheid om bijvoorbeeld dit te doen??

  1. _friend.name = xmlFriend.getChild("Age");
Offline larssy1 - 17/08/2012 13:50
Avatar van larssy1 MySQL beginner
Martijn2008 schreef:
Is er geen mogelijkheid om bijvoorbeeld dit te doen??

[..code..]

De parser die ik gebruik is nogal beperkt, en heeft enkel een .getChildNodes(), dat dus een NodeList returned..

Maar in dit geval zijn er maar twee nodes.. dus kan first en last ook 
Offline Martijn2008 - 17/08/2012 14:58 (laatste wijziging 17/08/2012 15:12)
Avatar van Martijn2008 PHP beginner Ik heb het gefixt. Je kunt dit doen:

  1. xmlFriend.item(1).getTextContent()


Mijn XML bestand is iets uitgebreider. Ben er nog niet achter hoe ik het url uit item media:thumbnail filtreer. Zie de xml hieronder. Suggesties?

  1. <FriendList>
  2. <Friend Image="Sanne01.jpg">
  3. <Name>Sanne</Name>
  4. <Age>21</Age>
  5. <media:thumbnail url="http://example.com/thumb/Sanne01.jpg" />
  6. </Friend>
  7. </FriendList>

Offline larssy1 - 17/08/2012 15:12
Avatar van larssy1 MySQL beginner
Martijn2008 schreef:
Ik heb het gefixt. Je kunt dit doen:

[..code..]

Mijn RSS feed is iets uitgebreider. Ben er nog niet achter hoe ik het url uit item media:thumbnail filtreer. Zie de xml hieronder. Suggesties?

[..code..]


Geen idee, sorry.. je media tag komt bij mij niet door de parser heen dus wordt niet gezien als valid xml.

Je zou kunnen proberen om dit topic te bekijken voor RSS parsers in JAVA..

http://www.voge...ticle.html
Offline Martijn2008 - 22/08/2012 12:31
Avatar van Martijn2008 PHP beginner Het wil niet bepaald lukken om het "url" uit element "media:thumbnail" url te filtreren. Weet iemand misschien een oplossing?  
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s