我在函数中有以下 jQuery 代码。
var msgXML = "<XMLInput><Source></Source><MessageText></MessageText><SendTime></SendTime><Destination></Destination><NotUsed></NotUsed></XMLInput>",
msgXMLDoc = $.parseXML(msgXML),
$msgXML = $( msgXMLDoc ),
$msgSource = $msgXML.find("Source"),
$msgText = $msgXML.find("MessageText"),
$msgSTime = $msgXML.find("SendTime"),
$msgDest = $msgXML.find("Destination");
在这个函数中,我需要对 XML 中的每个节点进行一些更改,完成后,将更改后的 XML 传递到 ajax 调用中,该调用将 XML 作为 SQL 存储过程的输入。
在下面的代码中,我可以附加 XML 值
$msgXML.children(0).append($msgSource.text(mySource));
$msgXML.children(0).append($msgText.text(myMsg));
$msgXML.children(0).append($msgSTime.text(currTimeString));
$msgXML.children(0).append($msgDest.text(myDest));
但它改变了 XML 结构(我没有设置字段<NotUsed></NotUsed>
,但必须传递它)并在 XML 周围打乱。这是我的第一个问题/问题。
所需的结构是:
<XMLInput>
<Source></Source>
<MessageText></MessageText>
<SendTime></SendTime>
<Destination></Destination>
<NotUsed></NotUsed>
</XMLInput>
如果我把它放在控制台日志中,使用上面的附加似乎会改变节点的值:
console.log("Out = " + $msgXML.find("Source").text());
但是,传递的数据并不是写入 SQL 表的数据。这是第二个问题。在控制台日志中,它显示为未定义或 [object Object]。我可以显示(更改的)文本,但我显然没有正确引用 xml 结构。我在这些方面做错了什么?