tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1397
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    dark_ghost dark_ghost ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    155
    Hallo zusammen,

    ich beschäftige mich gerade mit der XML verarbeitung via PowerShell
    und hatte die Idee das WoW Armory, das Daten über Gilden und Charaktere via XML zur Verfügung stellt auszulesen.

    Mein erster Versuch einen RSS Feed einzulesen funktionierte problemlos:
    Code :
    1
    2
    3
    
    $xmlData = New-Object XML
    $xmlData.Load("http://www.tutorials.de/external.php?type=RSS2")
    $xmlData.rss.channel.item
    Der RSS Feed wird eingelesen und im Anschluss werden die jeweiligen Einträge ausgegeben, ganz rudimentär zum Test.

    Mein zweiter Versuch und damit meine Idee Daten aus dem Armory auszulesen schlug leider fehl.
    Code :
    1
    2
    
    $xmlData = New-Object XML
    $xmlData.Load("http://eu.wowarmory.com/character-sheet.xml?r=Aegwynn&n=Pyramus")

    Sobald die Methode Load aufgerufen wird erhalte ich folgende Fehlermeldung:

    Ausnahme beim Aufrufen von "Load" mit 1 Argument(en): "Das erwartete DTD-Markup wurde nicht gefunden. Zeile 1, Position 1."
    Bei Zeile:1 Zeichen:14
    + $xmlData.Load <<<< ("http://eu.wowarmory.com/character-sheet.xml?r=Aegwynnn=Pyramus")
    + CategoryInfo : NotSpecified: ( [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException


    Kommt die PowerShell in diesem Fall mit den Argumenten ?r=Aegwynn&n=Pyramus nicht zurecht oder an was könnte es liegen, dass das XML Dokument nicht geladen werden kann?

    Wenn man die URL über den Browser aufruft bekommt man eine Fehlermeldung "Das sind nicht die Seiten die Ihr sucht[...]" zu sehen. Das liegt daran, dass Blizzard das Armory redesigned hat und die Seiten jetzt unter http://eu.battle.net/wow/de zu finden sind. Allerdings werden dort noch keine XML Daten zur Verfügung gestellt.

    Sieht man sich also den Quelltext an, erkennt man, dass nach wie vor die XML Daten bereit gestellt werden.

    Dass das Auslesen der Daten funktioniert weiß ich da das ganze in der Praxis mit PHP und SimpleXML durchgeführt wird.


    Über Tipps und Anregungen wie ich diese XML Daten auslesen kann würde ich mich sehr freuen.


    Mh, gerade Bemerkt, dass es womöglich besser unter CodersTalk aufgehoben wäre. Entschuldigung
    Geändert von dark_ghost (28.01.11 um 12:44 Uhr) Grund: Bemerkung
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    In Coders Talk verschoben. Das nächste Mal solch einen Hinweis via "Beitrag melden" melden, da siehts ein Admin / Mod eher
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Ich als nicht wirklich aktiver WoW Spieler...

    Gab es da nicht die Umstellung auf die neue Armory?
    Die seit Cataclysm unter

    http://eu.battle.net/wow/de/character/server/character/

    residiert?
    Und da wird, soweit ich weiß, nicht mehr auf pure XML Werte gesetzt...
    Weil deinen obigen Link kann ich nichtmals im Browser aufrufen um den Charakter zu sehen.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  4. #4
    dark_ghost dark_ghost ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    155
    Hallo Felix,

    ja seit dem erscheinen von Cataclysm hat Blizzard auch die Seiten des Armory aktualisiert.
    Die neuen Seiten sind, wie du schon richtig geschrieben hast, unter
    http://eu.battle.net/wow/de/character/<server_name>/<character_name>/simple zu erreichen.

    Im neuen Armory werden allerdings, noch, keine XML Daten zur Verfügung gestellt.
    Aus diesem Grund sind die XML Daten der Charaktere und Gilden nach wie vor unter dem alten Armory-Link zu erreichen.

    http://eu.wowarmory.com/character-sh...wynn&n=Pyramus

    Ruft man diese Seite auf, wird einem eine Fehlerseite angezeigt. Das ist nicht weiter schlimm, denn wenn man sich den Quelltext der Seite ansieht, stellt man fest, dass die Seite trozdem die korrekten XML Daten liefert, die dann wiederum verarbeitet werden können.

    All das habe ich aber in meinem ersten Post auch so erläutert


    Falls jemand einen Denkanstoß für mich hat, immer her damit. Noch habe ich keine Lösung für das Problem gefunden.

    Danke und viele Grüße
    Geändert von dark_ghost (31.01.11 um 12:00 Uhr)
     

  5. #5
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Sorry, hätte besser lesen sollen...

    Anscheinend kriegt der PS Browser einen anderen Text... Hier mal mit dem Webclient ausgelesen:

    Cannot convert value "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional
    //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <link href="/favicon.ico" rel="shortcut icon">
    <title>The World of Warcraft Armory</title>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <meta content="The World of Warcraft Armory is a vast searchable database of in
    formation for World of Warcraft - taken straight from the real servers. It is t
    he most comprehensive and up-to-date database on the characters, arena teams, g
    uilds, items, and faction rewards of World of Warcraft in existence." name="des
    cription">
    <script src="/_js/functions.js?v2" type="text/javascript"></script>
    <style media="screen, projection" type="text/css">
    @import "/_css/decommission.css";
    @import "/_css/_lang/en_us/language.css";
    @import "/_css/_region/eu/region.css";
    </style>
    </head>
    <body class="en_us">
    <div class="content">
    <div class="title">
    <h1>These aren't the Armory pages you're looking for.</h1>
    </div>
    <div class="text">
    <p>As part of our ongoing community site transition, the Armory has moved to it
    s new home on the redesigned World of Warcraft community website. Please visit
    <a href="http://www.battle.net/wow">http://www.battle.net/wow</a> to visit the
    new and improved Armory, and also make sure to update your bookmarks.</p>
    <p>We apologize for the inconvenience. Rest assured that many goblins* were cas
    t into the fiery abyss of the Molten Core for this transgression!</p>
    <p class="footnote">*No goblins were harmed in the making of this webpage or ca
    st into the fiery abyss of the Molten Core.</p>
    </div>
    <a class="button" href="http://eu.battle.net/wow/en/" id="button">Continue</a><
    a class="screens" href="http://eu.battle.net/wow/en/" id="screens"></a>
    <table border="0" cellpadding="0" cellspacing="0" class="logos">
    <tr>
    <td><a class="blizzlogo" href="http://www.blizzard.com" target="_blank"></a></t
    d><td><a class="rating en_us" href="http://www.esrb.org/ratings/ratings_guide.j
    sp" target="_blank"></a></td>
    </tr>
    </table>
    <p class="copyright">&copy;2010 Blizzard Entertainment, Inc. All rights reserve
    d</p>
    </div>
    <script type="text/javascript">
    updateButtonLink();
    </script>
    </body>
    </html>
    " to type "System.Xml.XmlDocument". Error: "The 'meta' start tag on line 7 does
    not match the end tag of 'head'. Line 14, position 3."
    At line:1 char:10
    + [xml]$xml <<<< = $wc.DownloadString($address)
    + CategoryInfo : MetadataError: ( [], ArgumentTransformationMet
    adataException
    + FullyQualifiedErrorId : RuntimeException
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  6. #6
    KaiBone KaiBone ist offline Mitglied Silber
    Registriert seit
    Aug 2004
    Beiträge
    83
    Die Powershell bekommt nur den Code der tatsächlich angezeigt wird.
    Beim Aufruf wird der Inhalt der XML Datei mitgesendet und "nachträglich" vom Server noch eine komplette HTML-Seite, nachvollziehen kann man das über die Netzwerkkonsole von Firebug.

    Die nächste Möglichkeit wäre nur den HTML-Code der neuen Seite in PS zu prasen. Was allerdings relativ aufwendig wäre bei dem schlecht formatieren Code.
     

  7. #7
    dark_ghost dark_ghost ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    155
    Hallo zusammen,

    vielen Dank euch beiden für eure Antworten. Jetzt verstehe ich was hier passiert.
    Guter Tipp mit der Netzwerkkonsole von Firebug.
    Den HTML Code zu parsen halte ich auch nicht für effektiv, da werd ich mir wohl was anderes überlegen müssen.

    Danke und viele Grüße
     

Ähnliche Themen

  1. [Powershell]
    Von rkrause im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 25.09.10, 19:50
  2. [Powershell] RSS Feeds ausgeben, Text aus XML TextNodes / Attribute auslesen
    Von Thomas Darimont im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 0
    Letzter Beitrag: 23.04.10, 17:53
  3. PowerShell über C# - PSArgumentException
    Von Marshel87 im Forum .NET Application und Service Design
    Antworten: 2
    Letzter Beitrag: 08.07.08, 08:28
  4. Powershell mit Adminrechten
    Von mschlegel im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 25.10.07, 18:53