4

こんにちは、フォーム内のデータから xml を作成して、それを webservice に送信する必要があります。問題は、.append()大文字と小文字が区別.append('<EDO />')されないため、 <edo>. しかし、xml では大文字と小文字が区別されるため、これを解決する方法はありますか? そして、文字列の代わりに domObject を使用することにしました。この方法では、私のシナリオでは非常に難しい終了タグを記述する必要がないからです。

4

4 に答える 4

6

$.parseXML()を使用して XML 要素を作成してみてください。

yourObject.append($.parseXML("<EDO />").documentElement);
于 2012-07-30T10:16:45.030 に答える
4

最後に、@Frédéric Hamidi が言ったように、大文字と小文字を区別する xml を作成するために、次の関数を使用しました。

var domA = $.parseXML("<EDO_A />").documentElement;要素を作成する

$(domA ).append($.parseXML('<EDO_Child />').documentElement);文字列から子を追加する

$(domA).append(domB)または子domA.appendChild(domB)オブジェクトを追加する

于 2012-07-30T11:17:35.600 に答える
4

jQuery.parseXMLは常に newDOMParseとnew を作成するDocumentため、かなり重いです。

より良いアプローチは、パラメーターを使用して (直感的でない)parseHTMLを使用することcontextです。

// Create the context XML document; doc and $doc is reusable
var doc = (new DOMParser()).parseFromString( '<root/>', 'text/xml' ); 
var $doc = $( doc.documentElement )

// Create case-sensitive XML element;
// this will call doc.createElement( 'EDO' ), as of jQuery 2.1.3
$doc.append( $.parseHTML( '<EDO />', doc ) ); 
于 2015-02-09T03:09:45.257 に答える
0

ノート:

$.parseHTML("<AddPerson>Adel</AddPerson>"); //result: <addperson>Adel</addperson>

$.parseXML("<AddPerson>Adel</AddPerson>"); //result: <AddPerson xmlns="">Adel</AddPerson>

これらの行が必要だと思います:

var request = $.parseXML(HtmlOrXmlStringSource);
$(request).find(someElementInside).append(HtmlOrXmlStringSource_2);

//Serialize XML
var oSerializer = new XMLSerializer();
request = oSerializer.serializeToString(request);
request = request.replace(new RegExp(' xmlns=""', "igm"), "");

$.ajax(); を介してリクエストを送信する準備が整いました。

ありがとう

于 2018-04-12T09:12:16.757 に答える