Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Daedra22

Treue Seele

  • »Daedra22« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Osten

Beruf: Student Informationstechnik

  • Private Nachricht senden

1

29.08.2014, 16:24

Aus einer XML Datei mittels java Elemente rauslesen

Hallo ich würde gerne aus meiner XML Datei folgendes Element rauslesen:

HLSL-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
  <entry>
    <title type="GESUCHT">
      Title1
    </title>
    <media:group>
      <media:player url="Link1"/>
    </media:group>
  </entry>
  <entry>
    <title type="text">
      Title2
    </title>
    <media:group>
      <media:player url="Link2"/>
    </media:group>
  </entry>
</feed>


Wie komme ich an die Elemente Title2, Link2 und GESUCHT ran ?

Meine Idee:

HLSL-Quelltext

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
File xmlfile = new File("myxmlfile.xml");
        try {
            FileWriter writer = new FileWriter(xmlfile, true);
            writer.write(driver.getPageSource());
            writer.flush();
            writer.close();
        } catch (IOException e) {

            e.printStackTrace();
        }
        try {
            Scanner scanner = new Scanner(xmlfile);
            // while(scanner.hasNext())
            // System.out.println(scanner.next());
        } catch (Exception e) {
            e.printStackTrace();
        }

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder;
        Document document;
        try {
            builder = factory.newDocumentBuilder();
            try {
                document = builder.parse(xmlfile);
                Element rootElement = document.getDocumentElement();
                String requestQueueName = "";
                //System.out.println(requestQueueName = getString(
                //      "media:player url", rootElement));

                XPathFactory xpathFact = XPathFactory.newInstance();
                XPath xpath = xpathFact.newXPath();

                try {
                    String text123 = (String) xpath.evaluate(
                            "/feed/entry[1]/title/@type", document,
                            XPathConstants.STRING);
                    /*String textabc123 = (String) xpath.evaluate(
                            "/data/keyword[2]/@name", document,
                            XPathConstants.STRING);*/
                    System.out.println(text123);
                } catch (XPathExpressionException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

klappt nicht:

HLSL-Quelltext

1
2
3
4
5
6
Fatal Error] myxmlfile.xml:247:91: The value of attribute "url" associated with an element type "media:player" must not contain the '<' character.
org.xml.sax.SAXParseException; systemId: file:/C:/Users/wakr/Desktop/Neuer%20Ordner/MySQLProject/myxmlfile.xml; lineNumber: 247; columnNumber: 91; The value of attribute "url" associated with an element type "media:player" must not contain the '<' character.
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
    at LinkHandlingWebDriver.XMLTest.main(XMLTest.java:96)


Habe heute mich erst zu XML eingelesen daher stehe ich auf dem Schlauch, danke für eure Zeit und Hilfe, sicherlich übersehe ich etwas offensichtliches :(
Who are you? - I am a game designer.
No you are not! - I am a game designer.
What kind of a designer ? - I am a game designer.
You mean you play games ? - I am a game designer.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

29.08.2014, 16:51

Der Fehler hat erstmal gar nichts damit zu tun wie du an die gesuchten Elemente kommst. Die Datei kann nicht eingelesen werden, weil es kein valides XML ist. Schau dir mal die Stelle an, die dir gesagt wird.

Daedra22

Treue Seele

  • »Daedra22« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Osten

Beruf: Student Informationstechnik

  • Private Nachricht senden

3

31.08.2014, 21:02

Es ist eine XML Datei, es ist nur ein spezielles Format : http://de.wikipedia.org/wiki/Atom_(Format).
Wie kann ich mir die Getter denn auto generieren lassen LetsGo ?
Who are you? - I am a game designer.
No you are not! - I am a game designer.
What kind of a designer ? - I am a game designer.
You mean you play games ? - I am a game designer.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

4

31.08.2014, 21:26

Es ist eine XML Datei, es ist nur ein spezielles Format : http://de.wikipedia.org/wiki/Atom_(Format).

Das wird behauptet. Laut Fehlernachricht widerspricht die Datei aber der XML Spezifikation. Kann gut sein das die Quelle der Datei die XML Spezifikation nicht so ernst nimmt.

Werbeanzeige