Seite 3 von 5
Verfasst: 21.08.2006 16:18
von Tafkadasom2k5
Aber bei dem anderen Beispiel fange ich ja auch nicht mit "catalog" an...
Code: Alles auswählen
MSGBOX XML_sGetContent("C:\XMLTEST\Datei1.xml","books/book[attribute::id='bk111']/price")
Verfasst: 21.08.2006 16:25
von Kiffi
Funktioniert denn nun der XPath in Datei3.xml?
> Aber bei dem anderen Beispiel fange ich ja auch nicht mit "catalog" an...
das andere Beispiel kenne ich nicht komplett. Poste mal.
Grüße ... Kiffi
Verfasst: 21.08.2006 16:38
von Tafkadasom2k5
Doch, hatte ich bereits gepostet

Also nochmal Resume:
Tafkadasom2k5 hat geschrieben:
Kiffi hat geschrieben:
Öärks!

Wasn..?
Mein XML-Dokument:
Code: Alles auswählen
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
<book id="bk103">
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
<description>After the collapse of a nanotechnology
society in England, the young survivors lay the
foundation for a new society.</description>
</book>
</catalog>
[...]
Code: Alles auswählen
MSGBOX XML_sGetContent("C:\XMLTEST\Datei1.xml","books/book[attribute::id='bk111']/price")
Dieses Beispiel funktioniert ja.
Code: Alles auswählen
<?xml version="1.0"?>
<InternesBeispiel>
<properties>
<name>TestXML</name>
<creationDate>07.08.06</creationDate>
<creator>MAG</creator>
<titel>Tääst</titel>
<customer>Privat</customer>
<dimensions>
<width>350</width>
<height>200</height>
</dimensions>
</properties>
<contents>
<text>
<entry id="1">
<description>Test Text</description>
<content>Hier kommt rein, was da so rumgeblubbert werden soll</content>
<coordinates>
<width>40</width>
<height>20</height>
</coordinates>
<factors>
<width>1</width>
<height>1</height>
<font>1</font>
<rotation>0</rotation>
<reversing>0</reversing>
</factors>
</entry>
</text>
</contents>
</InternesBeispiel>
Code: Alles auswählen
MSGBOX XML_sGetContent("C:\XMLTEST\Datei.xml","properties/creator")
Funzt nicht. (Error 12)
Gr33tz
Tafkadasom2k5
Verfasst: 21.08.2006 16:47
von Kiffi
Tafkadasom2k5 hat geschrieben:Doch, hatte ich bereits gepostet

nein, hast Du nicht.
In Deinem XPath steht was von 'books/book[...]'. Das steht jedoch nicht in
Deinem XML. Dort ist die Struktur 'catalog/book[...]'. Ausserdem suchst
Du die id 'bk111'. Diese ist in dem von Dir geposteten XML jedoch nicht
vorhanden.
Du solltest noch einmal sicherstellen, dass Du das richtige XML verwendest.
Tafkadasom2k5 hat geschrieben:Code: Alles auswählen
MSGBOX XML_sGetContent("F:\LabelManager\Datei.xml","properties/creator")
Funzt nicht. (Error 12)
... weil 'InternesBeispiel' vor 'properties' fehlt.
Grüße ... Kiffi
Verfasst: 21.08.2006 17:05
von Tafkadasom2k5
Argverdammtesch...
Ich habe hier gerade ein feines Wirrwarr (wie du gerade vermutet hast.).
Hatte gerade Was auf ein Netzwerklaufwerk gespeichert, um zu sehen, ob es da läuft und daher das Wirrwarr.. ^^
Also nochmal Korrektemente:
Datei 3.xml hat geschrieben:
Code: Alles auswählen
<?xml version="1.0"?>
<InternesBeispiel>
<properties>
<name>TestXML</name>
<creationDate>07.08.06</creationDate>
<creator>MAG</creator>
<titel>Tääst</titel>
<customer>Privat</customer>
<dimensions>
<width>350</width>
<height>200</height>
</dimensions>
</properties>
<contents>
<text>
<entry id="1">
<description>Test Text</description>
<content>Hier kommt rein, was da so rumgeblubbert werden soll</content>
<coordinates>
<width>40</width>
<height>20</height>
</coordinates>
<factors>
<width>1</width>
<height>1</height>
<font>1</font>
<rotation>0</rotation>
<reversing>0</reversing>
</factors>
</entry>
</text>
</contents>
</InternesBeispiel>
Aufruf (funzt nicht):
Code: Alles auswählen
MSGBOX XML_sGetContent("C:\XMLTEST\Datei3.xml","properties/creator")
Datei1.xml hat geschrieben:Code: Alles auswählen
<?xml version="1.0"?>
<catalog>
<books>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
<book id="bk103">
<author>Corets, Eva</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
<description>After the collapse of a nanotechnology
society in England, the young survivors lay the
foundation for a new society.</description>
</book>
</books>
</catalog>
Aufruf (funzt 1A)
Code: Alles auswählen
MSGBOX XML_sGetContent("C:\XMLTEST\Datei1.xml","books/book[attribute::id='bk103']/price")
Gr33tz
Tafkadasom2k5
Verfasst: 21.08.2006 17:29
von Kiffi
> Also nochmal Korrektemente:
Also, wenn das bei Dir funktioniert, dann muss ich Dir das wohl oder übel
glauben. Bei mir funktioniert Dein 2. Beispiel auf jeden Fall nicht.
Ich habe hier einen XPath-Tester, der folgendes ausgibt:
Code: Alles auswählen
Datei3.xml: "properties/creator" -> No results
Datei3.xml: "InternesBeispiel/properties/creator" -> <creator>MAG</creator>
Datei1.xml: "books/book[attribute::id='bk103']/price" -> No results
Datei1.xml: "catalog/books/book[attribute::id='bk103']/price" -> <price>5.95</price>
Tscha, jetzt bin ich mit meinem Latein am Ende...
Grüße ... Kiffi
Verfasst: 22.08.2006 08:34
von Tafkadasom2k5
Erhälst du denn wenigstens irgendwie einen Error?
Hast du XPath denn eingeschaltet, so wie du mir das auch gesagt hattest?
Wie rufst du das denn ab? Und vor Allem:
Wie würdest DU die Informationen rausbekommen (also so ungefähr, wie ich das vorhabe..?)?
Gr33tz
Tafkadasom2k5 (Der auch keinen Ausweg mehr weiß, sich aber trotzdem für deine Geduld bedankt)
Edit:
FEHLER GEFUNDEN!!!
Ich hasse es! Warum... warum nur? Warum mag das Ding keine "Ä"'s?
Datei 3.xml hat geschrieben:<titel>Tääst</titel>
Und Warum greift mein Error-Handling nicht? Das schnall ich noch nicht richtig...
Verfasst: 22.08.2006 09:28
von Kiffi
> Ich hasse es! Warum... warum nur? Warum mag das Ding keine "Ä"'s?
Mit welcher Sprache läuft Dein Windows?
pack mal folgendes in die erste Zeile Deines XMLs
> Und Warum greift mein Error-Handling nicht?
weil es kein Fehler im eigentlichen Sinne ist. Die Zeichen werden 'nur' falsch
encodiert.
Grüße ... Kiffi
Verfasst: 22.08.2006 09:31
von Tafkadasom2k5
Aber "Error 12" ist doch eigentlich "not wellformed" oder hab ich da was falsch verstanden?
Wenn ich in dem Dokument was rudimentäres kaputtmache (einen End-Tag vermurkse), dann greift meine Routine auch irgendwie nicht. Erst das Try-Catch...
Gr33tz
Tafkadasom2k5
Kiffi hat geschrieben:Mit welcher Sprache läuft dein Windows eigentlich?
Deutsch... ganz normal eigentlich..
Verfasst: 22.08.2006 13:41
von Tafkadasom2k5
Soooo... als Nächstes werde ich mich mal mit den Schemata auseinandersetzen.
Doch so wirklich verstehe ich diverse Vokalbeln noch nicht. Und wirklich beschrieben sind diese in meinem Wälzer ("XML Modernes Daten- und Dokumentenmanagement" aus dem Markt+Technik-Verlag) auch nicht.
So verstehe ich
XMLNS:XSI nicht. Auch wenn ich mir denken kann, dass XSI XML-Schema-Instance heißen könnte.
Auch was eine
XSI:noNamespaceSchemaLocation ist, kann ich mir ehrlich gesagt überhaupt nicht vorstellen...
Wenn mir jemand das weitere Recherchieren ersparen könnte...
Gr33tz
Tafkadasom2k5