如何使用JQuery修改XML

Tra*_*mov 5 javascript 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>"
Run Code Online (Sandbox Code Playgroud)

要更改状态字段的内容:

$(test).find("status").text("D")
Run Code Online (Sandbox Code Playgroud)

但结果是测试未被修改并且仍包含旧状态 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);
Run Code Online (Sandbox Code Playgroud)

Chr*_*kar 6

使用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() );
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的评论,我最终这样做:/ *转换为XML对象* / doc = $ .parseXML(test)/ *修改内容* / $(doc).find('status')。text(' D')/ *返回文本* / str =(new XMLSerializer())。serializeToString(doc); (2认同)