Elemente zählen mit JDOM in XML

Status
Nicht offen für weitere Antworten.

tschudy

Mitglied
Mein XML sieht folgendermassen aus:
Code:
<?xml version="1.0"?>
<ruleset>
   <category name="entity">
	<rule name="bu_id">
	  <statement>SELECT COUNT(1) FROM S_ORG_EXT WHERE BU_ID IS NULL OR BU_ID=''</statement>
	  <do_process>Y</do_process>
	  <description>BU_ID muss bei allen Tabellen stehts befuellt sein</description>
	</rule>
   </category>
   <category name="kunde">
   	<rule name="kundenname">
	  <statement>SELECT FROM DUAL</statement>
	  <do_process>Y</do_process>
	  <description>beschreibung</description>
	</rule>
   </category>
   <category name ="addresse">
   	<rule name="plz">
	  <statement>SELECT</statement>
	  <do_process>Y</do_process>
	  <description>beschreibung</description>
	</rule>
        <rule name="strasse">
	  <statement>SELECT</statement>
	  <do_process>Y</do_process>
	  <description>beschreibung</description>
	</rule>
   </category>
</ruleset>
Nun möchte ich die Anzahl Regeln zählen. In diesem Fall wären es 4 Regeln.

Ich probiere das mit folgendem Stück Code:

Code:
SAXBuilder builder = new SAXBuilder();
doc = builder.build( filename );

Element rules =   doc.getRootElement();
Element category = rules.getChild("category");
Element rule =   category.getChild("rule");

int anzRules = rule.getContentSize(); //Anzahl Regeln Total ermitteln

Der Rückgabewert von anzRules ist 7.
Was mache ich falsch????
 
S

SlaterB

Gast
interessant, ich kann da leider nicht weiterhelfen,
aber ein allgemeiner Tipp:
probiere doch mal ein wenig rum, fange mit einem Dokument mit nur einer rule an,
dann zwei, in einer Category oder in zwei verschiedenen usw,
vielleicht ist ja ein System zu erkennen
 

tschudy

Mitglied
ja ich habe das schon probiert, aber das gibt überhaupt kein System zu erkennen :)
Du kennst keine andere Möglichkeit?
 
S

SlaterB

Gast
gib dir doch mit getContents alle 7 Contents einzeln aus,
hast du überhaupt mal in der API geschaut, was diese Operation macht?

http://www.stylusstudio.com/api/jdom10/org/jdom/Element.htm#getContentSize()
 

mikachu

Top Contributor
machs doch über XPath ;)

Code:
   public static int getAmount( String filepath, String expr )
   {
      try
      {
         return XPathAPI.selectNodeList( DocumentBuilderFactory.newInstance().newDocumentBuilder().parse( new File( filepath ) ), expr ).getLength();
      }
      catch( SAXException e )
      {
         e.printStackTrace();
      }
      catch( IOException e )
      {
         e.printStackTrace();
      }
      catch( ParserConfigurationException e )
      {
         e.printStackTrace();
      }
      catch( TransformerException e )
      {
         e.printStackTrace();
      }

      return -1;
   }

// test
public static void main( String... args )
{
    System.out.println( getAmount( "myXML.xml", "//rule" ) ); /* 4 */
}

mit xpath geht das ziemlich einfach
 

tschudy

Mitglied
wie meinst du das, alle 7 Contents aus? Wie geht das? Ich habe in die API geschaut, aber ich komme auf kein Resultat....
 

tschudy

Mitglied
@mika.fhdw
Dankeschön!!! Ist ja so viel einfacher.... auf die Idee bin ich nicht gekommen....:)
Problem also gelöst! Jupi :)
 

mikachu

Top Contributor
tschudy hat gesagt.:
@mika.fhdw
Dankeschön!!!
bitte :)
tschudy hat gesagt.:
Ist ja so viel einfacher.... auf die Idee bin ich nicht gekommen....:)
ich wär auch nicht drauf gekommen, wenn ich nicht auf arbeit mich nur mit XPath rumschlagen müsste ;)
tschudy hat gesagt.:
Problem also gelöst! Jupi :)
schön... also bitte als "gelöst" markieren ;)

ps: man könnte das auch über die xpath-funktion count( expression ); lösen... ich wüsste aber nicht, wie ich das der xpathapi beibringen soll... noch nicht :cool:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L XML einlesen gleichnamige Elemente XML & JSON 5
J Parent- und Child-Elemente mit gleiche Namen, geht das ? XML & JSON 1
S XML - Bestehende Elemente ändern XML & JSON 1
C JAXB: XML-Elemente einlesen und als XML-Attribute ausgeben XML & JSON 7
R Verschachtelung gleichnamiger Elemente XML & JSON 7
D optionale Elemente mit defaultwerten werden in xml miterzeugt XML & JSON 2
A Elemente aus mehreren XML-Dateien zu einem zusammenfügen XML & JSON 5
G JAXB und verschachtelte Elemente? XML & JSON 6
J Anzahl der Elemente in einem XML-Dokument auslesen XML & JSON 7
F Hilfe beim bearbeiten von XML elemente XML & JSON 3
G Wieviele Elemente von TagName, ich brings nicht hin XML & JSON 5
G Leere Elemente verhindern XML & JSON 7
aze JaxB Elemente in LinkedHashSet werden nicht wiededergegeben XML & JSON 3
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6
D Tabs/Einrückungen der XML-Elemente gehen beim Schreiben verloren XML & JSON 5
Z XML auslesen, Elemente daraus entfernen und als neue XML zurückgeben XML & JSON 2
S JTree - Nur Elemente mit Attributen einfügen XML & JSON 2
G XML Parser Fehler, zwei gleiche kind-Elemente XML & JSON 7
F Elemente sortieren lassen XML & JSON 2
I Editor, der nur Elemente einfuegt, die nach xsd zulaessig XML & JSON 2
G xml einlesen und bestimmte Elemente an eine gui_Klasse überg XML & JSON 25
H Elemente eines Node auslesen XML & JSON 2
M XML Elemente mit JDOM durch Text ersetzen XML & JSON 2
P JDom nimmt keine Elemente an. XML & JSON 3
M Elemente mit Prefix via JDOM erstellen XML & JSON 6
J Jdom Elemente lesen XML & JSON 5
P zugriff auf gewuenschte elemente klapp nicht. XML & JSON 3
T Einfach nur die Elemente einer XML Datei auslesen :( XML & JSON 10
T Elemente aus XML-File löschen (JDom) XML & JSON 9
G Xml Elemente in eine Liste abspeichern! XML & JSON 2
G Elemente in XML XML & JSON 4
G brauche Tips, wie ich am besten auf Elemente zugreife XML & JSON 5
D Xml-Datei in JTree anzeigen und Elemente ausblenden XML & JSON 2
S JDOM Elemente suchen XML & JSON 2
B im DOM anzahl der Knoten in tiefe 3 zählen XML & JSON 2
K sax kinder zählen XML & JSON 2
P JDOM oder SAX XML & JSON 3
Hijo2006 Grundsätzliches zu JDOM 2.x XML & JSON 1
W Kindelemente mit JDOM eines bestimmten Attributes auslesen XML & JSON 6
S JDOM XML Datei darstellen Fehler! XML & JSON 2
S JDom XML ein Element hinzufügen. XML & JSON 1
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
J JDOM XMLOutputter getPrettyFormat() XML & JSON 3
H JDOM setAttribute Reihenfolge XML & JSON 3
B XML aus einer URL im Internet lesen (JDOM) XML & JSON 4
F Aus XML mit JDOM aus Elementattributen Werte rauslesen XML & JSON 4
R sax, stax, jdom, jaxb? List von Objekten speichern und laden XML & JSON 6
C xml validierung gegen xsd mit jdom: Fehlermeldung Cannot find the declaration of element ... XML & JSON 8
T Dom, Jdom, Sax XML & JSON 8
Helgon MalformedByteSequenceException und null JDOM Attribute XML & JSON 5
Helgon JDOM schreibt nicht XML & JSON 2
A XSl mit JDom auslesen XML & JSON 1
G xml, jdom "Entität wurde referenziert aber nicht deklariert." XML & JSON 4
A XSL und JDom XML & JSON 3
G jdom-Klassen in Eclipse importieren XML & JSON 2
S JDOM ohne XML Header erzeugen? XML & JSON 2
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
S JDOM nur Attribut Name XML & JSON 2
X JDom für SOAP Dateien geeignet? XML & JSON 3
T Xpath & JDOM Element Pfad ausgeben XML & JSON 2
M XML Parsen JDOM NullPointerEcxeption XML & JSON 7
S jdom hasChildren()? XML & JSON 1
T Frage zu getContent unter jdom XML & JSON 6
Z Tutorial für JDOM (XSD-Shema) XML & JSON 3
D jdom, xml, login-system XML & JSON 4
N JDOM: XML einlesen XML & JSON 4
O Parsen einer XML mit JDOM ohne Doctype Declaration XML & JSON 2
lordcarlos jdom zu iso-8859-15 zwingen XML & JSON 4
P jdom XML-Encoding auslesen XML & JSON 12
E JDOM - letzem child Attribut hinzufügen XML & JSON 4
H Schema-Validierung mit JDOM XML & JSON 2
lordcarlos JDOM und entfernen von children XML & JSON 4
E JDOM - Problem beim Zusammenfügen zweier Dateien XML & JSON 2
T jdom.jar als Relativer Pfad in Eclipse einbinden XML & JSON 4
sparrow JDom Element.getChild("Name") liefert null obwohl vorhanden XML & JSON 4
S XML, UTF-8, JDOM und Umlaute XML & JSON 3
E XML - JDOM - Bäume: was würdet ihr hier machen? XML & JSON 11
A JDOM: Wert schreiben bzw. ändern XML & JSON 6
T JDOM Bibiliothek XML & JSON 3
K JDOM vs. DOM, Schnittstellen XML & JSON 5
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
0x7F800000 jdom mit xml.transform inkompatibel, was soll ich nehmen? XML & JSON 2
T EXSD auslesen mit XPath und JDOM XML & JSON 8
A JDOM und Sonderzeichen < > XML & JSON 17
G Simples XML File einlesen mit JDom. Prefix not bound ? XML & JSON 2
N jdom problem beim lesen von child elementen XML & JSON 5
N problem bei xml lesen mit jdom XML & JSON 2
S Ampersand im Jdom-Element XML & JSON 2
N jdom - xslt-Verweis in .xml einfügen XML & JSON 3
S Jdom+java webstart XML & JSON 4
K html -> cyberneko -> xml -> jdom . XML & JSON 3
I JDom Text ändern XML & JSON 4
C jdom.Element nicht vorhanden? XML & JSON 4
W JDOM element ändern funzt nich :( [problem gelöst] XML & JSON 3
C XPath in JDOM klappt nicht XML & JSON 2
S Harte Nuss mit XML und JDOM XML & JSON 2
H mit JDOM Verarbeitungsanweisungen und Kommentare auslesen XML & JSON 2
B jdom: getChildren() problem XML & JSON 4
T Bild in XML per JDOM XML & JSON 4

Ähnliche Java Themen

Neue Themen


Oben