使用http get请求将XML数据导入HTML页面

时间:2013-10-23 10:13:47

标签: javascript html xml html5 xmlhttprequest

我需要从XML文件中获取数据。该XML文件只包含用户的详细信息,即数据可以是任何东西..用户名和电子邮件ID ..或出生日期等等。

这里我创建了一个包含2个文本框的HTML源代码。详细信息如下: - 第一个文本框我输入名称:ABC

在第二个文本框中,必须通过自动提取XML内容来显示该用户的电子邮件ID。

我已阅读有关http get请求和发布请求但无法制作它们的信息。

请帮帮我......

以下是HTML代码: -

    <html>
    <head>
    <title> Sample XML page </title>
    </head>
    <body>
  <div align="right">
    <h1>
     Sample try page 
   </h1>

   <form name="login">
    Username: &nbsp 
    <input type="text" name="userid"/>
    <br>
    <br>
    Email:  &nbsp  
    <input type="text" name="Email"/>
    <br>
    <br>
    <input type="button" " value="Submit"/>
   </form>
   </div>
   </body>
   </html>

以下是XML代码: -

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<student>  

<details>    
 <Name> student1 </Name>    
 <email> student1@abc.com </email>
 </details>

 <details>    
 <Name> student2 </Name> 
 <email> student2@abc.com </email>
 </details>

 </student>

2 个答案:

答案 0 :(得分:0)

来自W3学校

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","books.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

这就是你如何通过URL将XML转换为Javscript对象。

答案 1 :(得分:0)

希望这可以帮助你成为JavaScript的一部分 -

<script type="text/javascript">
    var useName;
    var email;

    function httprequest() 
    {
        debugger;
        useName = login.txtUserId.value;
        xmlhttp = new XMLHttpRequest();

        xmlhttp.open("GET", "name.xml", false);
        xmlhttp.send();
        xmlDoc = xmlhttp.responseXML;

        var x = xmlDoc.getElementsByTagName("CD"); 
        debugger;
        for (i = 0; i < x.length; i++) 
        {
            if (useName == x[i].getElementsByTagName("detail1")[0].childNodes[0].nodeValue) 
            {
                login.txtEmail.value = x[i].getElementsByTagName("detail2")[0].childNodes[0].data;
            }
        }
    }
</script>