使用 http get 请求将 XML 数据获取到 HTML 页面中

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

在这里,我创建了一个具有 2 个文本框的 HTML 源代码。详细信息是:- 我输入名称的第一个文本框:ABC

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

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

请帮助我..

这是 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>
stack overflow Get the XML data into HTML page using http get request
原文答案

答案:

作者头像

来自 W3schools

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;

这就是您如何将 XML 从 URL 转换为 Javascript 对象的方式。

作者头像

希望这可以帮助您作为 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>