Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Guten Morgen!

Ich habe hier ein kleines Problemchen mit dem Auslesen des Substringes. Der Code:


System.out.println(response);

String title = response.substring(response.indexOf("<title>")+7, Response.indexOf("</title>"));

System.out.println("\t" +title);


Wobei die Erste Zeile folgendes auswirft:

<?xml version="1.0" encoding="UTF-8"?>

<query>

  <uuid>2hpcr4lode27fo1g802kbm7occ</uuid>

  <group-id type="integer">116</group-id>

  <items type="array">

    <item matches="116">

      <title>QRE_8103_C205_CNE02092FG</title>

      <reference-id></reference-id>

    </item>

  </items>

  <response nil="true"/>

</query>

und der Rest folgendes Selektiert:

QRE_8103_C205_CNE02092FG

Was auch an sich richtig ist, jedoch manchmal zweimal die Zeile <title>...</title> ausgelesen werden muss, da diese mehrfach in einem Response vorkommen kann. Ich komme hier erlich nicht weiter!

Kann mir hier jemand von euch Cracks helfen?!?!

Bearbeitet von flashpixx
Code-Tags eingefügt

Da Du XML hast, würde ich nicht mit RegExpr arbeiten. Entweder Du parst den XML Baum oder Du benutzt XQuery um die Einträge direkt zu selektieren. Evtl bietet sich noch Sax an, mit dem Du aus dem XML ein Javaobjekt erzeugen kannst. Dafür benötigst Du aber dann eine XSL für die Objekt/Klassenbeschreibung

  • Autor

WOW! Das ging mal schnell! Danke schonmal dafuer!

OK, dann werde ich mal ein wenig herumtesten, ob ich das irgendwie hinbekomme... blutige Anfaengerin.. ;)

Habe den Code vorgelegt bekommen, und sollte mal schauen, ob ich den nach deren Wuenschen bearbeiten kann. Hat bisher auch soweit ganz gut geklappt, dank Google! :D

Als neuen Anfang würdest du das letzte Vorkommen von "</title>" merken und als Startindex der Methode übergeben.

Könnte dann so in etwa aussehen.


List<String>titles = new ArrayList<String>();

int offset = 0;

while (response.indexOf("<title>", offset) != -1) {

 int ende = Response.indexOf("</title>", lastTitle);

 titles.add(response.substring(response.indexOf("<title>")+7, Response.indexOf("</title>")));

 offset = ende;

}

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.