Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JAVA] SAXParser enter herkennen

Pagina: 1
Acties:

  • Maethor2
  • Registratie: Augustus 2010
  • Laatst online: 12-06-2024
Ik ben bezig met het uitlezen van een XML file met behulp van de ingebouwde Java SAXParser.

Het probleem ontstaat doordat de characters methode ook wordt gerund als er in de XML file naar een volgende lijn gegaan wordt. Ik wil enkel iets doen in de characters methode als er geen enter/nieuwe lijn/return gevonden werd.

Ik heb geen idee wat ik moet zetten bij in de equals methode om ervoor te zorgen dat er niets gebeurt als de gevonden string slechts het commando voor een nieuwe lijn bevat.

Ik heb al \n, \n\r, \n\r, \r geprobeerd maar geen van die gevallen werkt. Een internetzoektocht leverde geen werkende resultaten op.

Java:
1
2
3
4
5
6
7
8
9
10
11
public class ProtrackXMLHandler extends DefaultHandler {

    public void characters(char[] ch, int start, int length) {
    
    String elementData = new String(ch, start, length);
    
    if (!elementData.equals(newLine){
               // doSomething
        }
    }
}

  • ReenL
  • Registratie: Augustus 2010
  • Laatst online: 14-09-2022
Je omschrijving is erg onduidelijk, wil je nu niets doen als er een newline in je xml staat of niets doen als er alleen maar whitespace in zit?
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class ProtrackXMLHandler extends DefaultHandler
{
    public void characters(char[] ch, int start, int length)
    {
        String elementData = new String(ch, start, length);
    
        if ( elementData.indexOf("\n") == -1 ) {
           // Nieuwe regel gevonden, niets doen
           return;
        }
        
        // De rest
    }
}

// OF

public class ProtrackXMLHandler extends DefaultHandler
{
    public void characters(char[] ch, int start, int length)
    {
        String elementData = new String(ch, start, length);
    
        if ( elementData.trim().equals("") ) {
           // Alleen whitespace gevonden, niets doen
           return;
        }
        
        // De rest
    }
}

  • Maethor2
  • Registratie: Augustus 2010
  • Laatst online: 12-06-2024
ReenL schreef op zaterdag 15 oktober 2011 @ 12:09:
Je omschrijving is erg onduidelijk, wil je nu niets doen als er een newline in je xml staat of niets doen als er alleen maar whitespace in zit?
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class ProtrackXMLHandler extends DefaultHandler
{
    public void characters(char[] ch, int start, int length)
    {
        String elementData = new String(ch, start, length);
    
        if ( elementData.indexOf("\n") == -1 ) {
           // Nieuwe regel gevonden, niets doen
           return;
        }
        
        // De rest
    }
}

// OF

public class ProtrackXMLHandler extends DefaultHandler
{
    public void characters(char[] ch, int start, int length)
    {
        String elementData = new String(ch, start, length);
    
        if ( elementData.trim().equals("") ) {
           // Alleen whitespace gevonden, niets doen
           return;
        }
        
        // De rest
    }
}
elementData.indexOf("\n") ==-1 deed het zoals het hoort. Bedankt