Question
次のようなセレクターを構築しています。
“<wnd app=‘notepad.exe’ cls=‘Notepad’ title='”+表題.ToString()+“.txt - Notepad’ />”
変数「表題」はString型で、値を「“氏名&住所”」に設定していたところ、ワークフローを実行したら次のようなエラーが出て処理が止まってしまいます。
Use Application: 氏名&住所.txt - Notepad: Value for property [Selector] is not a valid XML syntax.
対応策を教えて下さい。
Answer
原因
セレクターはXML形式で指定を行うため、XMLでは特殊文字として扱われている文字はそのままではセレクター内で使用できません。本ケースでは、変数「表題」の値に特殊文字にの一つにあたる「&」が使われていたため、このエラーが発生しました。
対応策
特殊文字は「エンティティ参照」で表記することで利用可能です。例えば、半角「&」のエンティティ参照による表記は「&」です。
特殊文字は次の5文字で、エンティティ参照による表記を併記していますので参考にしてください。
「&」→「&」
「<」→「<」
「>」→「>」
「"」→「"」
「'」→「'」
よって、変数「表題」の値を次のように修正することでこの問題を回避することが可能です。
「“氏名&住所”」→「“氏名&住所”」