jQuery:添加XML元素
jQuery: Adding XML element
更新
新代码给了我DOM Exception 8
错误。
if($('#searchClientName').val() != '')
{
$($.parseXML(requestXML)).find('Parameters').get(0).appendChild('<ClientName>'+$('#searchClientName').val()+'</ClientName>');
}
我也尝试过使用这些选项:
$('<ClientName>'+$('#searchClientName').val()+'</ClientName>').appendTo($($.parseXML(requestXML)).find('RequestParameters').get(0));
它没有给出任何错误,但XML保持不变。
xmlDoc=document.eimplementation.createDocument(",",null);clientNameElement=xmlDoc.createElement('ClientName');clientNameValue=xmlDoc.createTextNode($('#searchClientName').val());clientNameElement.appendChild(clientNameValue);$($.parseXML(requestXML)).find('RequestParameters').get(0).appendChild(clientNameElement);
旧代码:
我很难用jQuery进行XML操作。无法弄清楚如何实现评论部分:
var requestXML = "<Request><Type>Search</Type><Parameters></Parameters></Request>",
requestDoc = $.parseXML(requestXML),
reqXML = $( requestDoc ),
$parameters = $reqXML.find('Parameters');
if($('#clientNameTextField').val() != '')
{
//Add <ClientName> name text field value</ClientName><ParameterType>ClientName</ParameterType>
}
else if ($('#idTextField').val() != '')
{
//Add <ClientId> id text field value</ClientId><ParameterType>ClientId</ParameterType>
}
注:驼色外壳对于元素名称很重要
这将起作用。
更新代码以维护节点名称的Camel Case。
var requestXML = "<Request><Type>Search</Type><Parameters></Parameters></Request>",
$reqXML = $( jQuery.parseXML(requestXML) ),
$parameters = $reqXML.find('Parameters');
if($('#clientNameTextField').val() != '')
{
//Add <ClientName> name text field value</ClientName><ParameterType>ClientName</ParameterType>
$parameters.append(jQuery.parseXML('<ClientName>Apple</ClientName>').documentElement);
$parameters.append(jQuery.parseXML('<ParameterType>P999</ParameterType>').documentElement);
}
else if ($('#idTextField').val() != '')
{
//Add <ClientId> id text field value</ClientId><ParameterType>ClientId</ParameterType>
$parameters.append(jQuery.parseXML('<ClientId>C111</ClientId>').documentElement);
$parameters.append(jQuery.parseXML('<ParameterType>P999</ParameterType>').documentElement);
}
var xmlString = (new XMLSerializer()).serializeToString($reqXML.get(0));
console.log(xmlString);
相关文章:
- 使用Jquery添加XML元素
- 如何使用Extendscript scriptui插入、更新、删除XML元素的值
- 使用 javascript 中的表单元素构建一个 xml 字符串
- 从XML字符串创建DOM元素,如何使用.getElementsByName()
- 如何使用javascript查找从xml中检索到的元素数量
- 为什么使用自定义标记创建元素会在 IE9 或 10 的 outerHTML 中添加 xml 命名空间,直到调用 .fin
- 设置名称与 XML 的名称生产不匹配的 DOM 元素的属性
- 如何在IE上创建xml元素并添加nodeValue
- 在javascript中获取xml dom子元素
- 从 XML 元素获取文本
- 无法使用 jquery 获取 xml 元素文本值
- 获取 XSLT 中的 XML 元素
- 从 XML 获取元素时出现问题
- 未捕获的语法错误:无法在“元素”上设置“innerHTML”属性:提供的标记是无效的 XML
- 根据元素的值从 XML 文件中提取文本
- 如何使用 Jquery 获取 XML 文件,并在每次加载时以随机顺序显示元素一次
- 如何在javascript中解析xml并从中提取xslt元素
- 在jQuery的XML文档中选择和操作DOM中的元素
- Ajax 对 xml 页面的响应以获取标题元素不起作用
- 如何在 jQuery 中读取 xml 文件内容并在 html 元素中显示