簡體   English   中英

如何使用JQuery修改XML

[英]How to modify XML with JQuery

我正在嘗試使用Javascript修改XML結構中的狀態標志。 我相信可以使用互聯網上的示例進行工作:

test = "<?xml version='1.0' encoding='utf-8' standalone='no' ?>" + 
    "<resultaat>" +
        "<type>6</type>" +
        "<status>I</status>" +
        "<start_datum>2012-06-16 00:00:00</start_datum>" +
        "<eind_datum></eind_datum>" +
    "</resultaat>"

更改狀態字段的內容:

$(test).find("status").text("D")

但是結果是測試未修改,仍然包含舊狀態I

感謝您的回答

正確的見解是您需要首先轉換為XMLObject並進行修改。

以下是我最終的做法:

/* Convert Text to XML Object */
doc = $.parseXML(test)

/* Change the fields required */
$(doc).find('status').text('D')

/* Back to Text */
str = (new XMLSerializer()).serializeToString(doc);

使用jQuery.parseXML()

<p id="someElement"></p>
<p id="anotherElement"></p>

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>",
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $title = $xml.find( "title" );

/* append "RSS Title" to #someElement */
$( "#someElement" ).append( $title.text() );

/* change the title to "XML Title" */
$title.text( "XML Title" );

/* append "XML Title" to #anotherElement */
$( "#anotherElement" ).append( $title.text() );

您需要編寫類似這樣的代碼...

test = "<?xml version='1.0' encoding='utf-8' standalone='no' ?>" + 
    "<resultaat>" +
        "<type>6</type>" +
        "<status>I</status>" +
        "<start_datum>2012-06-16 00:00:00</start_datum>" +
        "<eind_datum></eind_datum>" +
    "</resultaat>";

def = $(test).find("status").text("D");

console.log(def);

為了使其工作...

嗯,這個答案是可行的……但並非總是如此。 我使用的是Tidesdk中捆綁的舊版Webkit,但我遇到了一些奇怪的問題:

$(xml).find("whatever").append("<however></however>");
// doesn't modify xml

$("<however></however>").appendTo($(xml).find("whatever"));
// does modify xml

??? :_)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM