XPath

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Aber bei dem anderen Beispiel fange ich ja auch nicht mit "catalog" an...

Code: Alles auswählen

<?xml version="1.0"?>
<catalog>
<books>
[...]

Code: Alles auswählen

MSGBOX XML_sGetContent("C:\XMLTEST\Datei1.xml","books/book[attribute::id='bk111']/price")
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Doch, hatte ich bereits gepostet ;)
Also nochmal Resume:
Tafkadasom2k5 hat geschrieben:
Kiffi hat geschrieben: Öärks! ;-)
Wasn..? :wink:

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
Zuletzt geändert von Tafkadasom2k5 am 25.08.2006 11:20, insgesamt 1-mal geändert.
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag 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
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag 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...
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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

Code: Alles auswählen

<?xml version="1.0" encoding="ISO-8859-1" ?>
> Und Warum greift mein Error-Handling nicht?

weil es kein Fehler im eigentlichen Sinne ist. Die Zeichen werden 'nur' falsch
encodiert.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag 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..
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag 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... :oops:

Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Antworten