繁体   English   中英

如何使用JSP更新XML文件

[英]How to update XML file using JSP

我有一个看起来像这样的XML文件:

<Names>
 <Person>George</Person>
 <Person>Mary</Person>
 <Person>John</Person>
</Names>

我正在使用JSP开发一个项目。 现在,我的程序已成功从XML文件中提取内容并将其输出到div中。 我还有一些读取用户输入的文本框。 我正在尝试将XML文件的内容( 使用Client Side )更新为用户在文本框中输入的内容,然后调用Names()方法将更新后的文件的内容输出到div中(替换旧内容) )。 但是,我的XML文件没有更新,因此我不确定如何执行此操作。 这是我的代码:

function getXML(){
          if(window.XMLHttpRequest){
            xmlhttp = new XMLHttpRequest();
          }

         else{
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
           xmlhttp.open("GET","Names.xml",false);
           xmlhttp.send();
           return(xmlhttp.responseXML);
        }

         function loadXMLDoc(dname) {


                  if (window.XMLHttpRequest) {
                      xmlhttp = new XMLHttpRequest();
                  }

                  else {
                      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                  }

                   xmlDoc.async = false;
                     xmlDoc.load(dname);
                    xmlDoc.save("Names.xml");
                    return (xmlDoc);
             }


             function insertNames(){


            var name1 = document.getElementById('NameOne').value;
            var name2 = document.getElementById('NameTwo').value;
            var name3= document.getElementById('NameThree').value;

           if(name1 != null || name2 != null || name3 != null){


           xmlDoc=loadXMLDoc("Names.xml");

          var x = xmlDoc.getElementsByTagName("Person")[0].childNodes[0];
          x.nodeValue = weekdayHours;
          var y = xmlDoc.getElementsByTagName("Person")[0].childNodes[1];
          y.nodeValue = saturdayHours;
          var z = xmlDoc.getElementsByTagName("Person")[0].childNodes[2];
          z.nodeValue = sundayHours;
             xmlDoc.save("Names.xml");
              Names(); 
    }
  }
  function Names() {
      var xml = getXML();
      var txt = "";
      $(xml).find("Person").each(function () {
        txt += "<div>" + $(this).text() + "</div>";
      });
      $("body").append(txt);
    }

    Names();

这可能吗? 如果是这样,我想念什么? 提前致谢。

对我来说,您要达到的目标还不是很清楚。 您的JavaScript包含似乎没有被调用的函数(例如loadXMLDoc和insertNames)。

您无法使用客户端JavaScript更新文件的内容。

  • 您可以使用客户端JavaScript更改浏览器中显示的内容

    与/或

  • 您可以使用客户端JavaScript将用户输入传递给服务器端JSP,然后服务器端JSP可能会产生不同的XML。

也许您可以多解释一些您要完成的工作,然后我们会有所帮助?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM