# XML file für schtasks



## bieritarier (23. Sep 2008)

Hossa,

ich suche mir mittlerweile seit ein paar Tagen im Netz die Finger wund und kann einfach nichts dazu finden.

Folgendes Szenario:

Ich habe für meinen HTPC ein ein kleines Programm geschrieben, das mir Timerdaten von Aufnahmen auf einer XML Datei ausliest, verarbeitet und in ein Task-Template einfügt.

Soweit, so gut. Das Task-XML das dabei herauskommt sieht auch (bis auf vertauschten namespace / version attribute und die eingefügten timer) genauso aus wie das Template. 

Nun zum Problem - wenn ich die XML mit schtasks einbinden will, bekomme ich folgenden Fehler:
Task-XML ungültig. 

Ich kann:
- Das Template einlesen.
- Die erstellte XML (also die mit Timer) manuell über die Aufgabenplanungs GUI einbinden

Da die erstellte Datei ja vertauschten ns und Atrribut hat habe ich auch das manuell umgestellt - geht nicht
Zusätzlich die Timer gelöscht - die Datei sieht jetzt genauso aus wie das Template (und ich hab jeden vermaledeiten Buchstaben verglichen!) - geht nicht.

wenn ich die erstellten Trigger aus meiner neuen XML in das vom Task scheduler erstellte Template kopiere kann ich das auch mit schtasks einlesen - nur nicht das komplett neu erstellte file.

Ich verwende JDOM zum bearbeiten/schreiben der XML - kann mir eigtl. nur noch vorstellen, dass es daran liegt.

Bin für jeden Tipp dankbar...

Gruß,
Richie


----------



## Landei (23. Sep 2008)

> die Datei sieht jetzt genauso aus wie das Template (und ich hab jeden vermaledeiten Buchstaben verglichen!)



Hexeditor nehmen. Ich vergleiche Dateien meistens mit TotalCommander (www.ghisler.com).

Ich würde mindenstens 10 cent wetten, dass:
- das XML keine Kodierung vorgibt
- die OriginalDatei am Anfang zwei, drei komische, unsichtbare Zeichen hat, die die Datei als irgendeine Unicode-Version ausweist


----------



## bieritarier (24. Sep 2008)

Merci, werd ich morgen mal austesten.

Hab in der Zwischenzeit das Ganze anders gelöst... mit nem buffered writer.

Gefällt mir insofern nicht als dass ich der Einfachheit halber das Template in mehrere Strings im Code verteilt hab (war zu faul das einzulesen, einzufügen und auszugeben . Außerdem sieht die xml katastrophal aus (alles in einer Zeile)... aber es funzt... gerade eben noch die batch Dateien für Start++ geschrieben und jetzt bin ich (fast happy).. keine Tasks mehr von Hand bearbeiten .


Ich teile deine Vermutung - die Kodierung, die angezeigt wird (und auch gesetzt ist!) ist UTF-16 - wie im original. Wie ich allerdings schon dachte ist die Art und Weise wie JDOM das XML doc wegschreibt wohl nicht so ganz astrein.


Wenn ich nur nicht für jeden Mist die halbe Javadoc durchstöber müsste - naja hätt im Studium besser aufpassen sollen 

Ich meld mich, sobald ich das mit nem Hex Editor gegengecheckt hab.

Gruß und gut n8,
Richie


----------



## bieritarier (24. Sep 2008)

Edit - doppelpost - sry.


----------



## bieritarier (24. Sep 2008)

Hossa,

hab eben die Dateien verglichen.. dort sind tatsächlich invisible chars..
ÿþ im Templatefile
þÿ und ein Leerzeichen im JDOM file

letzterer hat außerdem am Ende 4 (leere) Zeilen mehr.

Ich hab einfach im TC mal die erste Zeile vom Template in den JDOM file kopiert und dann schtasks mit dem JDOM file ausgeführt - geht.

Es liegt definitv daran...

Gruß,
Richie


----------



## Landei (24. Sep 2008)

Die seltsamen Zeichen kennzeichnen das Big-Endian und Little-Endian Format für Unicode, also ob bei zwei Bytes das höherwertige oder das niederwertige zuerst kommt.


----------

