繁体   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