Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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 如何放置XML值并在href锚标记中使用该值?_Javascript_Html_Xml - Fatal编程技术网

Javascript 如何放置XML值并在href锚标记中使用该值?

Javascript 如何放置XML值并在href锚标记中使用该值?,javascript,html,xml,Javascript,Html,Xml,如何读取HTML网页上的XML文件 我只知道非常基本的JavaScript。我正在尝试使用XML更改网站页脚的值,因为我有100多页,每次更改页脚中的某些内容时,我都必须手动更改所有100页。这就是我想通过XML更改页脚链接的原因 我希望我的XML链接值进入锚定标记href属性: 我的HTML页面应如下所示: <?php include 'footer.html'; ?> 如果您只想更改页脚,而页脚已在100页中使用, 你可以这样做。 制作一个页脚html页面,并将其包含在每个

如何读取HTML网页上的XML文件

我只知道非常基本的JavaScript。我正在尝试使用XML更改网站页脚的值,因为我有100多页,每次更改页脚中的某些内容时,我都必须手动更改所有100页。这就是我想通过XML更改页脚链接的原因

我希望我的XML链接值进入锚定标记href属性:


我的HTML页面应如下所示:

<?php include 'footer.html'; ?>

如果您只想更改页脚,而页脚已在100页中使用, 你可以这样做。 制作一个页脚html页面,并将其包含在每个页面中。 这样,如果您需要在页脚中进行任何更改,则需要在单个位置进行更改。 在jsp中,您必须编写

<jsp:include page="PageFooter.jsp" />

这个解决方案可能也有帮助
啊,是的。您的服务器是否启用了PHP?(大多数默认情况下都已启用。) JavaScript-AJAX可以做到这一点,但PHP将是一个更好的解决方案

只需将其粘贴到您的站点:

<a href="<?php include 'file.xml'; ?>">here goes the name of the url using xml</a>
我希望这将在没有javascript的情况下对您有所帮助

xml文件


1.
标题详细信息url链接
.aspx文件

 <asp:Repeater runat="server" ID="XMLRepeater">
                    <ItemTemplate> <a  href="<%#Page.ResolveUrl(DataBinder.Eval(Container.DataItem, "column_url").ToString())%>"  target="_blank">                                    
                         <span >   <%# DataBinder.Eval(Container.DataItem, "column_heading") %>
                                    </span></a>
</ItemTemplate>
                </asp:Repeater>

aspx.cs文件

protected void BindXMLToRepeater()
    {
        XmlTextReader xmlreader = new XmlTextReader(Server.MapPath("filename.xml"));
        try
        {

            DataSet ds = new DataSet();
            ds.ReadXml(xmlreader);
            //xmlreader.Close();

            DataTable dt = new DataTable();
            dt = (DataTable)ds.Tables[0];               

            //create dynamic data table
            DataTable dynamicTable = new DataTable();

            //DataRow
            DataRow dynamicRow;
            //DataColumn for Name and Time
            DataColumn id = new DataColumn("column_id", typeof(string));
            DataColumn heading = new DataColumn("column_heading", typeof(string));
            DataColumn url = new DataColumn("news_url", typeof(string));


            //add Column to Datatable
            dynamicTable.Columns.Add(id);
            dynamicTable.Columns.Add(heading);                
            dynamicTable.Columns.Add(url);

            //counter used for get fix no of news
            int counter = 0;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                  dynamicRow = dynamicTable.NewRow();
                    //Add Rows to dymanicTable
                    dynamicTable.Rows.Add(dynamicRow);
                    //Assign Column value
                    dynamicTable.Rows[dynamicTable.Rows.Count - 1]["column_id"] = dt.Rows[i]["column_id"];
                    dynamicTable.Rows[dynamicTable.Rows.Count - 1]["column_heading"] = dt.Rows[i]["column_heading"];                    

                    dynamicTable.Rows[dynamicTable.Rows.Count - 1]["column_url"] = dt.Rows[i]["column_url"];


            }

            if (dynamicTable.Rows.Count != 0)
            {
                //Bind Data to repeater            
                XMLRepeater.DataSource = dynamicTable;
                XMLRepeater.DataBind();
            }
        }
        catch (Exception ee)
        {


        }
        finally
        {
            xmlreader.Close();
        }
    }
受保护的void BindXMLToRepeater()
{
XmlTextReader=newxmltextreader(Server.MapPath(“filename.xml”);
尝试
{
数据集ds=新数据集();
ReadXml(xmlreader);
//xmlreader.Close();
DataTable dt=新的DataTable();
dt=(DataTable)ds.Tables[0];
//创建动态数据表
DataTable dynamicTable=新DataTable();
//数据行
数据行;
//名称和时间的数据列
DataColumn id=新的DataColumn(“column_id”,typeof(string));
DataColumn heading=新的DataColumn(“column_heading”,typeof(string));
DataColumn url=新的DataColumn(“news_url”,typeof(string));
//将列添加到数据表
dynamicTable.Columns.Add(id);
dynamicTable.Columns.Add(标题);
dynamicTable.Columns.Add(url);
//用于获取新闻修复号的计数器
int计数器=0;
对于(int i=0;i
谢谢大家的回答,但经过大量搜索,我找到了我想要的。 我想使用单个文件更改多页页脚部分,而不更改我的页面名称(从.html页面更改为其他页面,如.aspx、.php、.asp) 我所需要做的就是使用SSI aka服务器端包含。 您需要做的唯一一件事是检查您的服务器是否支持SSI,然后创建一个单独的html页脚页面,您希望在每个页面上包含该页面。 为了包含外部页脚页面,只需键入

<!--#include file="footer.html" -->

在区域、div、table中,无论您希望在何处加载页脚并完成它

有关详细文章,请访问以下链接

看起来他想在客户端做这件事。可能不想启用PHP模块。

@DumbProducts是的,这可以通过多种方式实现。我想Arvind希望它使用Javascript。我想jsp不是Javascript,只是Java?(如果我错了,请纠正我)@DumbProducts-是的。但我给出的解决方案的链接使用javascript实现了这一点。PHP也不是Javascript?我只是指“我想Arvind希望它使用Javascript”的评论。你写的是我的PHP代码。我注意到我们俩都不是JavaScriptD@DumbProducts-不采取任何措施:drember接受帮助您的答案的答案(单击向上投票/向下投票按钮附近的复选框)。。。
protected void BindXMLToRepeater()
    {
        XmlTextReader xmlreader = new XmlTextReader(Server.MapPath("filename.xml"));
        try
        {

            DataSet ds = new DataSet();
            ds.ReadXml(xmlreader);
            //xmlreader.Close();

            DataTable dt = new DataTable();
            dt = (DataTable)ds.Tables[0];               

            //create dynamic data table
            DataTable dynamicTable = new DataTable();

            //DataRow
            DataRow dynamicRow;
            //DataColumn for Name and Time
            DataColumn id = new DataColumn("column_id", typeof(string));
            DataColumn heading = new DataColumn("column_heading", typeof(string));
            DataColumn url = new DataColumn("news_url", typeof(string));


            //add Column to Datatable
            dynamicTable.Columns.Add(id);
            dynamicTable.Columns.Add(heading);                
            dynamicTable.Columns.Add(url);

            //counter used for get fix no of news
            int counter = 0;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                  dynamicRow = dynamicTable.NewRow();
                    //Add Rows to dymanicTable
                    dynamicTable.Rows.Add(dynamicRow);
                    //Assign Column value
                    dynamicTable.Rows[dynamicTable.Rows.Count - 1]["column_id"] = dt.Rows[i]["column_id"];
                    dynamicTable.Rows[dynamicTable.Rows.Count - 1]["column_heading"] = dt.Rows[i]["column_heading"];                    

                    dynamicTable.Rows[dynamicTable.Rows.Count - 1]["column_url"] = dt.Rows[i]["column_url"];


            }

            if (dynamicTable.Rows.Count != 0)
            {
                //Bind Data to repeater            
                XMLRepeater.DataSource = dynamicTable;
                XMLRepeater.DataBind();
            }
        }
        catch (Exception ee)
        {


        }
        finally
        {
            xmlreader.Close();
        }
    }
<!--#include file="footer.html" -->