Javascript 如何放置XML值并在href锚标记中使用该值?
如何读取HTML网页上的XML文件 我只知道非常基本的JavaScript。我正在尝试使用XML更改网站页脚的值,因为我有100多页,每次更改页脚中的某些内容时,我都必须手动更改所有100页。这就是我想通过XML更改页脚链接的原因 我希望我的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页面应如下所示:
<?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" -->