1

HTML Web ページで XML ファイルを読み取るにはどうすればよいですか?

私は非常に基本的な JavaScript を知っています。100 ページを超えるページがあり、フッターで何かを変更するたびに、100 ページすべてを手動で変更する必要があるため、XML を使用して Web サイトのフッターの値を変更しようとしています。そのため、フッター リンクを XML で変更したいと考えています。

XML リンクの値をアンカー タグの href 属性に入れたい:

<a href="here goes the url using xml">

また、アンカータグの間にあるウェブサイトの名前も:

<a href="here goes link value ">here goes the name of the url using xml</a>

私の HTML ページは次のようになります。

<a href "here goes the url">here goes the name of the url using xml</a>
4

5 に答える 5

1

フッターを変更したいだけで、それが 100 ページで使用されている場合は、これを行うことができます。フッター HTML ページを作成し、すべてのページに含めます。このように、フッターを変更する必要がある場合は、1 か所で行う必要があります。jspでは、書く必要があります

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

この解決策も役立つかもしれません フレーム/iframeなしでHTMLページを別のHTMLページに含める方法は?

于 2012-12-29T06:44:31.420 に答える
1

そうそう。サーバーで PHP が有効になっていますか? (ほとんどの場合、デフォルトで有効になっています。) JavaScript AJAX でこれを行うことができますが、PHP の方がはるかに優れたソリューションです。

これをサイトに貼り付けるだけです:

<a href="<?php include 'file.xml'; ?>">here goes the name of the url using xml</a>

「file.xml」を、URL を保存するファイルに変更します。.txt または .php または .html を使用することもできます。また、file.xml の URL が変更されると、すべてのページに反映されます。

編集:フッターのすべてのリンクを参照する代わりに、次のように、含めるフッターを1つだけ作成してみませんか?

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

そして、「footer.html」の中にフッターがあります。footer.html を変更すると、フッターとして使用するすべてのページでも変更されます。

これが役立つかどうか教えてください。:)

編集:実際に Ajax でこれを行うのは、それほど難しいことではありません。:) jQuery (JavaScript ライブラリ) の load 関数をチェックしてください:

$('#result').load('ajax/test.html');
于 2012-12-29T06:46:25.233 に答える
0

彼はそれをクライアント側でやりたいようです。たぶん、PHPモジュールを有効にしたくないでしょう。

于 2013-01-08T17:04:58.167 に答える
0

皆さんの回答に感謝しますが、多くの検索の後、まさに私が欲しかったものを見つけました. ページ名を変更せずに(.htmlページから.aspx、.php、.aspなどの他のページに)単一のファイルを使用して複数のページのフッターセクションを変更したかったのですが、SSI別名サーバーサイドインクルードを使用するだけでした。必要な作業は、サーバーが SSI をサポートしているかどうかを確認してから、すべてのページに含める個別の html フッター ページを作成することだけです。その外部フッター ページを含めるには、入力するだけです。

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

エリア、div、テーブルで、フッターをロードしたい場所とその完了。

詳細な記事については、次のリンクにアクセスして ください http://httpd.apache.org/docs/2.2/howto/ssi.html

于 2013-01-02T09:13:05.030 に答える
0

これがjavascriptなしで役立つことを願っています。

xml ファイル

<table>   <column>
    <column_id>1</news_id>
    <column_heading>heading</column_heading>    <column_details>details</column_details>    <column_url>url link</column_url>      </column> </table>

.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();
        }
    }
于 2012-12-29T12:27:19.280 に答える