Lupuz.de: Artikel-Portal / Magazin

Zurück   Postpla.net - die Forum Community > PC, Internet und Technik > Coder's Area

XPath - Wo ausführen?

Anzeigen:

Antwort
 
Themen-Optionen
.kb
Alt 20.06.2008, 16:12   #1
Standard XPath - Wo ausführen?

Hoi!

Wie kann ich XPath-Statements ausführen? Mach das der Browser, gibt es eine Javaschnittstelle?

Im Internet finde ich nur Tutorials über die Sprache an sich, aber nicht wie ich sie verwenden kann.. Hoffe jemand hat damit schon mal gearbeitet.

Muss nicht XPath sein, alternativ könnte ich auch XQuery oder JQuery nutzen - wenn sich damit jemand schon ein wenig auskennt und mir nur mal die Rahmenbedingungen erläutern könnte.
 
 
Nach oben
Sidolin
Alt 20.06.2008, 16:40   #2
Standard

Äh, XPath ist eine generelle Technik um Daten aus xml-Dateien rauszukriegen. Im Zweifelsfalle also mit der Programmiersprache und dem XML-Parser deiner Wahl. XQuery kenne ich nicht, aber JQuery ist etwas vollkommen anderes und hat mit XPath wenig zu tun.
 
 
Nach oben
.kb
Alt 20.06.2008, 19:36   #3
Standard

Gut - die Programmiersprache meiner Wahl währe Java.

Code:
import java.io.FileReader;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;
import org.xml.sax.InputSource;

public class a {

    public static void main(String[] args) {

        try {
            FileReader freader = new FileReader("wochenzeitplan.xml");

            DocumentBuilderFactory docfactory = DocumentBuilderFactory
                    .newInstance();
            DocumentBuilder docbuilder = docfactory.newDocumentBuilder();

            Document docroot = docbuilder.parse(new InputSource(freader));

            XPath xpath = XPathFactory.newInstance().newXPath();
            String result = (String) xpath.evaluate("//title", docroot,
                    XPathConstants.STRING);
            System.out.println(result);

        } catch (Exception eve) {
        }

    }

}

XML-Datei:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="pmt.css"?>
<!DOCTYPE format SYSTEM "wochenzeitplan.dtd" >

<!-- Rahmen für die Teamarbeit -->
<!-- Punkte die durch das Formular abgedeckt werden sollen:
Keine Person im Team ohne aktuelle Aufgabe.
Definieren sie kurze, regelmäßige Treffen zur Koordination
Definieren sie Zeiten zur thematischen Orientierung und zum zielorientierten Kompetenzaufbau -->

<format id="Wochenzeitplan">
    <tuesday>
        <date>2008-06-17</date>
        <task>
            <title>Einlesen in CSS</title>
            <timeperiod>1h</timeperiod>
            <person>
                <name>Max Marder</name>
            </person>
        </task>
    </tuesday>
    
    <monday>
        <date>2008-06-16</date>
        <task>
            <title>Einlesen in DTD</title>
            <timeperiod>1h</timeperiod>
            <person>
                <name>Fritz Fuchs</name>
            </person>
        </task>
    </monday>
    
    <wednesday>
        <date>2008-06-18</date>
        <task>
            <title>Überarbeiten des XML Dokuments</title>
            <timeperiod>1,5h</timeperiod>
            <person>
                <name>Max Marder</name>
            </person>
        </task>
        <task>
            <title>Erstellen der DTD</title>
            <timeperiod>0,5h</timeperiod>
            <person>
                <name>Max Marder</name>
            </person>
        </task>
    </wednesday>
    
    <thursday>
        <date>2008-06-19</date>
        <task>
            <title>XML in HTML wandeln und CSS erstellen</title>
            <timeperiod>1,5h</timeperiod>
            <person>
                <name>Max Marder</name>
            </person>
        </task>
    </thursday>
    
    <friday>
        <date>2008-06-20</date>
        <task>
            <title>Neue Aufgabe bearbeiten</title>
            <person>
                <name></name>
            </person>
        </task>
    </friday>
    
    <originator>
        <name>xx xx</name>
    </originator>
    <date>2008-06.17</date>
    
</format>
Immerhin das habe ich schon hinbekommen! Doch das Java-Programm oben gibt mir immer nur den ersten Eintrag den es findet zurück. Ich dachte mit dem Doppelslash werden alle Elemente mit diesem Namen selektiert, oder habe ich die Spezifikation falsch verstanden?

Geändert von Wodar Hospur (22.06.2008 um 16:40 Uhr).
 
 
Nach oben
Ähnliche Themen, die dich vielleicht interessieren
Thema Autor Forum Antworten Letzter Beitrag
Linux - Programme als root ausführen pitchzero Betriebssysteme und Software 12 14.12.2007 21:41
WinXP: Befehle lassen sich nicht mehr ausführen SilverSky Betriebssysteme und Software 2 14.11.2006 13:08
HILFE!! Access Datei aus Server mi FTP ausführen guido Coder's Area 7 24.11.2003 22:58
FTP unter DOS connecten und Datei ausführen schnuckiwutz Betriebssysteme und Software 5 20.08.2003 19:14
Anzeigen:
Antwort

Themen-Optionen



Alle Zeitangaben in WEZ +2. Es ist jetzt 06:08 Uhr.


Lupuz.de - wir können auch anders!
©1998 - 2008, Lupuz:Information-Network
Powered by vBulletin Version 3.7.1 (Deutsch), Jelsoft Enterprises Ltd.
Grüne Links?

SEO by vBSEO 3.1.0 ©2007, Crawlability, Inc.