Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:添加XML元素_Javascript_Jquery_Xml - Fatal编程技术网

Javascript jQuery:添加XML元素

Javascript jQuery:添加XML元素,javascript,jquery,xml,Javascript,Jquery,Xml,更新 新代码给了我DOM异常8错误 if($('#searchClientName').val() != '') { $($.parseXML(requestXML)).find('Parameters').get(0).appendChild('<ClientName>'+$('#searchClientName').val()+'</ClientName>'); } if($('#searchClientName').val()!='') { $($.pars

更新
新代码给了我
DOM异常8
错误

if($('#searchClientName').val() != '')
{
   $($.parseXML(requestXML)).find('Parameters').get(0).appendChild('<ClientName>'+$('#searchClientName').val()+'</ClientName>');
}
if($('#searchClientName').val()!='')
{
$($.parseXML(requestXML)).find('Parameters').get(0).appendChild('+$('#searchClientName').val()+'');
}
我也尝试过使用这些选项:

  • $('+$('#searchClientName').val()+'').appendTo($($.parseXML(requestXML)).find('RequestParameters').get(0))

  • 它没有给出任何错误,但XML保持不变

    xmlDoc=document.implementation.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>
        }
    
    var requestXML=“搜索”,
    requestDoc=$.parseXML(requestXML),
    reqXML=$(requestDoc),
    $parameters=$reqXML.find('parameters');
    if($('#clientNameTextField').val()!='')
    {
    //添加名称文本字段valueClientName
    }
    else if($('#idTextField').val()!='')
    {
    //添加id文本字段valueClientId
    }
    
    注意:驼峰式大小写对于元素名称很重要

    这会奏效的

    更新了为节点名称保留驼峰大小写的代码

    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);
    
    var requestXML=“搜索”,
    $reqXML=$(jQuery.parseXML(requestXML)),
    $parameters=$reqXML.find('parameters');
    if($('#clientNameTextField').val()!='')
    {
    //添加名称文本字段valueClientName
    $parameters.append(jQuery.parseXML('Apple').documentElement);
    $parameters.append(jQuery.parseXML('P999').documentElement);
    }
    else if($('#idTextField').val()!='')
    {
    //添加id文本字段valueClientId
    $parameters.append(jQuery.parseXML('C111').documentElement);
    $parameters.append(jQuery.parseXML('P999').documentElement);
    }
    var xmlString=(新的XMLSerializer()).serializeToString($reqXML.get(0));
    log(xmlString);
    
    此实现正在释放元素名称的所有大小写。请检查我的笔记。@HimanshuYadav我相应地更新了我的示例。它现在将支持特定的案例。