Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
在XSLT中加载带有javascript的xml文件_Javascript_Xml_Xslt_Extract - Fatal编程技术网

在XSLT中加载带有javascript的xml文件

在XSLT中加载带有javascript的xml文件,javascript,xml,xslt,extract,Javascript,Xml,Xslt,Extract,我被这件事难住了。我有一个XSLT文件,它使用XML文件从中检索数据。 在这个XSLT文件中,还有一个javascript。它的目的是为XSLT中的“for each”语句创建计数器 现在,我需要向javascript添加一个功能,从XML文件中获取特定条目。 我将在这里粘贴xml的一部分,以便进一步解释 <ROW> <Date>03-12-2013</Date> <School>SvR</School> <

我被这件事难住了。我有一个XSLT文件,它使用XML文件从中检索数据。 在这个XSLT文件中,还有一个javascript。它的目的是为XSLT中的“for each”语句创建计数器

现在,我需要向javascript添加一个功能,从XML文件中获取特定条目。 我将在这里粘贴xml的一部分,以便进一步解释

<ROW>
    <Date>03-12-2013</Date>
    <School>SvR</School>
    <Locale>B1.04</Locale>
    <Class>1236VUGK16</Class>
    <Time>09:00-16:00</Time>
</ROW>


03-12-2013
SvR
B1.04
1236VUGK16
09:00-16:00

我需要从“日期”获取数据。但我不知道如何用javascript加载xml文件来实现这一点。我发现一些html代码告诉我如何
xmlDoc.load
可以做到这一点,但它不能做到。它会给我一个语法错误。这是因为它在XSLT中吗?我怎样才能实现我想要的呢?

你需要4件事

  • data.xml->xml文件
  • Openxml.js->包含打开Javascript的函数
  • filejs.js->包含读取/写入和其他数据的函数
  • index.html->显示信息
  • 第1部分,xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <events>
    <ROW>
    <Date>03-12-2013</Date>
        <School>SvR</School>
        <Locale>B1.04</Locale>
        <Class>1236VUGK16</Class>
        <Time>09:00-16:00</Time>
    </ROW>
    </events>
    
    第3部分:

        function Event(date)
        {
            this.date = date;
    
        }   
        //funciton to charge XMLElements
         function ChargeXMLElements()
            {
                try
                {
                    xmlDoc=OpenFile("data.xml");
                    eventosXML=xmlDoc.getElementsByTagName('ROW');
    
                    if (eventosXML.length>0)
                    {
                        eventos=new Array(); //clase con los datos cargados
                     }
                    for(var i=0; i< eventosXML.length; i++) 
                    {
                        xmlEvento=eventosXML[i];
    
                        fecha=xmlEvento.getElementsByTagName("DATE")[0].firstChild.nodeValue;
    
                        evento = new Evento(fecha);       
                        eventos.push(evento);
    
                    }
                    return eventos;
                }
                catch(e)
                {
                    alert("Error on the load data");
                }    
    
            }
    //show information take on previously function, and show on a table (with only 1 column)
    function showinformation() 
    {
            var tr;
            var td;
            var tabla;
            var l=0;
            ev= CargarXMLEventos();
            auxUnEven=ev.pop();
            tabla=document.getElementById("datos");
            while (auxUnEven!=undefined)
            {
                tr=tabla.insertRow(l);
                //creamos las columnas de la tabla 
                td=tr.insertCell(0);
                td.innerHTML=auxUnEven.date;
                /*td=tr.insertCell(1);
                td.innerHTML=auxUnEven.hora;
                td=tr.insertCell(2);
                td.innerHTML=auxUnEven.comentario;   */ //if you need more columns         
                l++;
                auxUnEven=ev.pop();
            }
            if (l==0)
            {
                tabla=document.getElementById("datos");
                tr=tabla.insertRow(l);
                td=tr.insertCell(0);
                td.innerHTML=" dont have events ";
            }
    
    }
    
    功能事件(日期)
    {
    this.date=日期;
    }   
    //充电元件的功能
    函数ChargeXMLElements()
    {
    尝试
    {
    xmlDoc=OpenFile(“data.xml”);
    eventosXML=xmlDoc.getElementsByTagName('ROW');
    if(eventosXML.length>0)
    {
    eventos=new Array();//clase con los datos cargados
    }
    for(var i=0;i
    第4部分:

    <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>example XML</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="filejs.js"></script>
        <script type="text/javascript" src="Openxml.js"></script>
      </head>
    <body>
        <table id="datos">
            <script type="text/javascript">
                showinformation();
            </script>
        </table>
    </body>
    </html> 
    
    
    示例XML
    showinformation();
    

    我认为这是功能性的,但我不知道。我在这里看到信息:(西班牙语,对不起)

    要在Javascript中解析XML,请参见以下问题:
    <!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>example XML</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="filejs.js"></script>
        <script type="text/javascript" src="Openxml.js"></script>
      </head>
    <body>
        <table id="datos">
            <script type="text/javascript">
                showinformation();
            </script>
        </table>
    </body>
    </html>