Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Problem Eckige Klammer in XPath String


4 replies to this topic

InstallerBasler

InstallerBasler
  • Full Members
  • 4 posts

Posted 09 August 2010 - 13:08

Hallo,

ich habe ein Problem eckige Klammern in einem XPath Wert in InstallShield 12 Prof. (unter Systemkonfiguration --> XML Datei Änderungen) auszugeben. sad.gif

z.B. Produkt[@Name="xyz [xxx]"]

Bei der Installation soll eine dynamische XML erzeugt werden, die dann ein Tag
<Produkt Name="xyz [xxx]"> enthalten soll..

Wird die eckige Klammer nicht oder falsch escaped wird Name="" leer angezeigt.

Ich habe bereits versucht die eckigen Klammern in dem String auf verschiedene Arten zu escapen. (' , \ etc.)
Auch habe ich schon versucht HTML Syntax wie &91#; zu verwenden, aber das wird anscheinend auch nicht richtig geparst (XSL?) und direkt so wieder mit in die XML ausgegeben.

Ich hoffe mein Problem habe ich verständlich geschildert und jemand von Euch hat eine Idee, wie soetwas elegant zu lösen ist. Danke!

MFG

Edited by InstallerBasler, 09 August 2010 - 13:10.


Holger_G

Holger_G
  • Full Members
  • 155 posts

Posted 10 August 2010 - 15:01

Funktioniert es vielleicht, wenn du einfach vorher eine Property mit dem Namen xxx und dem Inhalt [xxx] erzeugst?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 10 August 2010 - 16:13

Versuch mal die Klammern so zu escapen, das wäre die Windows-Installer-Notation:
[\[] und [\]]


InstallerBasler

InstallerBasler
  • Full Members
  • 4 posts

Posted 11 August 2010 - 08:51

Danke für Eure Antworten, ich werde Eure Lösungsvorschläge gleich mal ausprobieren. smile.gif

InstallerBasler

InstallerBasler
  • Full Members
  • 4 posts

Posted 11 August 2010 - 10:51

So nun funktioniert es so wie es soll. Ich habe jetzt die vorgeschlagene Windows Installer Notation verwendet.

Ein weiteres Problem trat auf, wenn der InstallShield "Name des Elementes" von dem Wert des Attributes abweicht. Dann wurden die Elemente in der XMl nicht mehr korrekt verschachtelt.
Die Lösung war jetzt im Namen des Elementes xyz [xxx] ohne Escapesequenz zu schreiben und im Wert des Attributes yxz[\[]xxx[\]] .


Nochmals vielen Dank, ist ein echt tolles Forum hier smile.gif

MFG