0

XML ノード値を HTML ページに取得しています。ノードの 1 つにパスがあり、その周りにリンクを配置したいと考えています。TagName は ("link") ハイパーリンクするには、TagName "link" の値を追加する必要があります。使ってみた

これはどのように行われますか?

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", "reports.xml", false);
                        xmlhttp.send();
                        xmlDoc = xmlhttp.responseXML;

                        //document.write("<tr><th width='18%' align='left'>Report</th>");
                        //document.write("<th width='18%' align='left'>Audit Subject</th>");
                        //document.write("<th width='18%' align='left'>Report</th></tr>");

                        var x = xmlDoc.getElementsByTagName("item");
                        for (i = 0; i < x.length; i++) {
                            document.write("<tr><td>");
                            document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
                            document.write("</td><td>");
                            document.write(x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue);
                            document.write("<br>");
                            document.write("<a href='' target='_blank'>");
                            document.write(x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue);
                            document.write("</a></td><td>");
                            document.write(x[i].getElementsByTagName("pubdate")[0].childNodes[0].nodeValue);
                            document.write("</td></tr>");

                        }

XML ファイル:

`<audits>
  <reports>
    <title>Audit Reports</title>
    <rsslink>http://www.somesite.com/</rsslink>
    <item>
      <title>test1</title>
      <description>test for hyperlink path</description>
      <link>../pdf/audits/DeonGeeCert.pdf</link>
      <pubdate>Friday, September 21, 2012</pubdate>
    </item>
    <item>
      <title>test2</title>
      <description>test2</description>
      <link>../pdf/audits/2012-09-10audit-12-14.pdf</link>
      <pubdate>Monday, September 10, 2012</pubdate>
    </item>`
4

1 に答える 1

1

あなたが何を望んでいるのかわからない、あなたの質問はあまりにも漠然としていますが、これはおそらくあなたがやりたいことだと思います

for (i = 0; i < x.length; i++) {
                            document.write("<tr><td>");
                            document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
                            document.write("</td><td>");
                            document.write(x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue);
                            document.write("<br>");
                            var linkValue=x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
                            document.write("<a href='"+linkValue+"' target='_blank'>");
                            document.write(linkValue);  //or some meaningful text, just keeping the last string in the link
                            document.write("</a></td><td>");
                            document.write(x[i].getElementsByTagName("pubdate")[0].childNodes[0].nodeValue);
                            document.write("</td></tr>");

                    }
于 2012-09-21T20:46:28.077 に答える