私はAJAX呼び出しとそのために、私はいくつかの操作を行っているから取得したXMLオブジェクトを持っている:「プロローグで許可されていないコンテンツ」エラーを回避するためにXMLオブジェクトをクリーニングするにはどうすればよいですか?
$.ajax({
url: "url_of_xml",
type: 'GET',
dataType: 'xml',
success: function (xml) {
var sld_doc= $(xml)
// manipulations with the XML file
}
})
XMLファイルが正常に変更され、私はそれが(追加/変更されたノードに)する必要がどのようになっています。今私は(GeoServerインスタンスに)変更されたXMLをPOSTする必要があります。
$.ajax({
url: "geoserver/rest/styles",
type: 'POST',
data: sld_doc,
headers: {
"Content-Type": "application/vnd.ogc.sld+xml"
},
dataType: 'json',
success: function (data) {a
console.log(JSON.stringify(data));
},
error: function (x, e) {
console.log(x.status + " " + x.responseText);
}
});
私はエラーを取得しています:私は何を読んで、それは時にタグの前の文字によって引き起こされていることから500 org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
XML文書の始まり。
XMLオブジェクトがサーバーに正しく送信されるように、XMLオブジェクトの呼び出しをクリーンアップするにはどうすればよいですか。私はsld_doc.find("node_name")
でノードにアクセスできますが、最初のノード(<?xml>
)の前に無効な文字をチェックするにはどうしたらいいですか?
操作後にsld_docの内容を表示できますか?また、あなたのPOSTのdataTypeはxmlであることを意味していますか? –
javascriptのXMLオブジェクトからXMLコンテンツ全体をどのように印刷できますか? 'sld_doc [0] .firstChild'または' sld_doc [0] .documentElement'または 'XMLSerializer()。serializeToString(sld_doc [0])'を使用すると、 ''ノードが得られません。 1つ後 – kaycee
はいGeoServerに送信されるコンテンツはXMLである必要があります。http://docs.geoserver.org/stable/en/user/rest/api/styles.html#styles-format – kaycee