第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 XSLT 顯示來(lái)自 url 的 XML 數(shù)據(jù)

如何使用 XSLT 顯示來(lái)自 url 的 XML 數(shù)據(jù)

PHP
楊__羊羊 2023-10-22 21:29:37
我通過(guò) Yahoo API 中的 url 獲得了動(dòng)態(tài) XML 體育數(shù)據(jù),我想使用 XSLT 在我的網(wǎng)站上顯示并排序所選內(nèi)容。這是第一次使用 XML 和 XLST。在測(cè)試時(shí),我已經(jīng)弄清楚了當(dāng)將 XML 代碼手動(dòng)粘貼到服務(wù)器上的 XML 文件中時(shí)如何正確顯示它,但我正在努力解決如何從 url 獲取 XML 數(shù)據(jù)源(每天更新)和到網(wǎng)頁(yè)上。我有一個(gè) PHP 文件,我在其中成功連接到 feed 并打印原始 XML 數(shù)據(jù)(將其稱為“feed.php”)。我認(rèn)為問(wèn)題的一部分在于 XML 數(shù)據(jù)在該文件中作為字符串輸出,因此需要將其轉(zhuǎn)換為文檔(對(duì)象?),以便 XSLT 可以與 XML 中的元素標(biāo)簽進(jìn)行交互。在我想要顯示所選數(shù)據(jù)的網(wǎng)頁(yè)上:<main>    <button type="button" onclick="loadStandings(displayOverallStandings)">League Standings</button>        <article id="standings-division">*league standings to display here when the button is clicked*    </article><script>// found elsewhere on SO to turn string into XML documentfunction loadStandings(displayOverallStandings) {    var xhr = new XMLHttpRequest();    xhr.onload = function() {    dump(xhr.responseXML.documentElement.nodeName);}    xhr.onerror = function() {  dump("Error while getting XML.");}xhr.onreadystatechange = function () {        if (this.readyState == 4 && this.status == 200) {                displayOverallStandings(this);        }    }xhr.open("GET", "feed.php"); // the path to the feed.php filexhr.responseType = "document";xhr.send();}// more code I found on SO to load xml and xsl docs in browser to display league standingsfunction displayOverallStandings(xhr) {    xml = xhr.responseXML;    xsl = loadXMLDoc("standings.xsl"); // path to the XSL file I've created// code for IEif (window.ActiveXObject || xhttp.responseType == "msxml-document")  {  ex = xml.transformNode(xsl);  document.getElementById("standings-division").innerHTML = ex;  }// code for Chrome, Firefox, Opera, etc.else if (document.implementation && document.implementation.createDocument)  {  xsltProcessor = new XSLTProcessor();  xsltProcessor.importStylesheet(xsl);  resultDocument = xsltProcessor.transformToFragment(xml, document);  document.getElementById("standings-division").appendChild(resultDocument);  }}</script>
查看完整描述

1 回答

?
猛跑小豬

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊

我找到了一個(gè)解決方案,在“feed.php”文件中使用 PHP 將提要 xml 數(shù)據(jù)轉(zhuǎn)換為簡(jiǎn)單 XML 對(duì)象(將數(shù)據(jù)顯示為數(shù)組),循環(huán)遍歷該數(shù)組以選擇我想要的特定數(shù)據(jù),然后將其轉(zhuǎn)換使用 SimpleXMLElement() 函數(shù)返回到 xml 標(biāo)記。這允許創(chuàng)建一個(gè)更簡(jiǎn)單的 xml 文檔,并從標(biāo)簽中排除無(wú)關(guān)的 Yahoo 簡(jiǎn)介,這與 XSLT 的行為正確。


<?php

(Feed data saved in $response variable)


// convert xml data string into XML object

$xml = simplexml_load_string($response);


// selected output from object array as manually created XML tags

$output = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><content></content>');

$date = $output->addChild('date',$xml->date); //append 'date' xml tags and get the date content from the XML object


(create more xml tags containing data, etc...)


echo $output->asXML();


?>


查看完整回答
反對(duì) 回復(fù) 2023-10-22
  • 1 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)