私が最初に投稿したのはちょっと乱雑になってしまいました。AppleScript、予定時刻
XMLデータをカールから運送会社の公開APIに変換するスクリプトがあります。データを解析し、 "Line"という名前のXML要素をすべて配列に格納します。次に、これらの要素のすべてが繰り返し実行され、XML要素からのデータを含む変数が作成されます。
これらのXML要素の1つに、「2017-01-31T14:04:00」のようにdateTtimeの形式で出発時刻の値が含まれています。私はその値を変数に入れて、時間と日付を分けたいと思います。だから、私はAppleScriptのテキスト項目デリミタを使って "T"に設定して、前のものの "テキスト項目2"に設定した変数を作成します。うまく動作し、私は変数に格納されている時間のデータを取得します。
今、その変数にAppleScriptsの「時刻」を使用して、時間を秒単位で取得したいと考えています。ここでそれが壊れて、私は "システムイベントがエラーを持っているというエラーメッセージが表示されます:XMLファイルの" Macintosh HD:ユーザー:John:Desktop:my_xml_file.xml "の文字列を入力すると、日付の時刻" 14:04:00 " "ここで
はコードです:
set theXMLFile to "/Users/John/Desktop/my_xml_file.xml"
set poster to {}
tell application "System Events"
set xmlData to XML file theXMLFile
tell contents of xmlData
try
set poster to XML elements of XML element "Lines" of XML element "GetDepartureArrivalResult" of XML element "GetDepartureArrivalResponse" of XML element "soap:Body" of XML element "soap:Envelope" whose name is "Line"
repeat with i from 1 to (count poster)
set departure to value of XML element "JourneyDateTime" of item i of poster as text
set AppleScript's text item delimiters to "T"
set depTime to text item 2 of departure
display dialog time of date (depTime as string)
set AppleScript's text item delimiters to ""
end repeat
on error errStr
display dialog errStr
end try
end tell
end tell
私は、次のテスト・スクリプトにこのコードを変更する場合:
set departure to "2017-01-31T14:04:00" as text
set AppleScript's text item delimiters to "T"
set depTime to text item 2 of departure
display dialog depTime
display dialog time of date (depTime as string)
その後、私は秒の正しい数を示すダイアログなしエラーを取得しますメッセージ。私はちょうど私が間違ってやっているかを把握することはできません
=/
ありがとうございました!私は私が使用してそれを解決するために管理し、あなたの記事を読む前に私が試してみて – FrassesFik
:)ということを覚えています: '設定depTimeSeconds私getTimeInSecondsにgetTimeInSeconds上(depTime)' と '(myTime) \tセットtempDate date myTime \t tempSecondsをtempDateの時刻に設定します。 \t return tempSeconds end getTimeInSeconds' – FrassesFik
ハンドラを使用すると、システムイベントのtellブロックを終了するため、これが機能します。それを行う別の方法は、System Events tellブロック内の "私"に、 –