アプリケーションとサーバーとの通信に使用するプロトコルを実装しようとしています。問題は、サーバーがXMLを使用しているため、xmlを含むサーバーに文字列を送信しようとしましたが、エラーのみが出ます。XMLとDelphiの問題
私はこれを送信します
mymsg: String = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+
'<m:outgoingEngineMessage xmlns:c="http://www.bvb.ro/xml/ns/arena/gw/constraints"'+
'xmlns:m="http://www.bvb.ro/xml/ns/arena/gw/msg"'+
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+
'<content xsi:type="HeartBeatcmd">'+
'</content>'+
'<csq>100212</csq>'+
'</m:outgoingEngineMessage>';
私が言ってエラーが表示されます。
要素タイプ "M:outgoingEngineMessageは" どちらか 属性仕様、続かなければなりません "& GT;"または "/ & gt;"
私は、この送信した場合:
mymsg : String = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+
'<m:outgoingEngineMessage xmlns:c="http://www.bvb.ro/xml/ns/arena/gw/constraints"'+
'xmlns:m="http://www.bvb.ro/xml/ns/arena/gw/msg"'+
'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+
'<content xsi:type="HeartBeatcmd">'+
'</content>'+
'<csq>100212</csq>'+
'</m:outgoingEngineMessage>'
を私が手:Elementはプロローグで許可されていません...
いくつかのいずれかは、私が間違ってやっているものを私を啓発することはできますか?以前はxmlファイルで作業していませんでした。 xmlをutf8に正しく変換する関数はありますか?説明してください。
Webで「xmlns:xsi」というドキュメントを検索すると、xmlns:xsi = "..."のような引用符を使用していて、xmlns:xsi = "..."ではなく、閉じた ''タグのような他の明白な違いrはルート要素です。あなたの例では、終了する ' m:outgoingEngineMessage>'はありません。 – mjn
おっと! XMLを "手で生成"しないでください - これを行うためにライブラリを使用してください。それは長期的にあなたに多くのトラブルを救うでしょう。 – Misha