私は2つのxmlファイルを持っています.1つは通貨で、もう1つは国からです。 country.xmlのxslテーブルの特定の場所に値を配置するにはどうすればよいですか?
サンプル:currencies.xmlの
<root>
<row>
<CountryName>Denmark</CountryName>
<CountryCode>DNK</CountryCode>
<Year>2016</Year>
<Value>5731118</Value>
</row>
<row>
Another country...
</row>
</root>
サンプル:
<valuta>
<overskrift>Valutaliste</overskrift>
<oppdatert>30.10.2017 09:00</oppdatert>
<timestamp>2017-10-30-09.18.29.485970</timestamp>
<valutakurs>
<land>USA</land>
<isokode>US</isokode>
<kode>USD</kode>
<enhet>1</enhet>
<navn>Dollar</navn>
</valutakurs>
<valutakurs>
Another currency...
</valutakurs>
</valuta>
私は今私が得たcountry.xmlと私のcurrencies.xmlから<kode></kode>
のすべての行を合併しています1つのxmlファイルで必要なものすべて。
だから私はデンマークと同じ列に例えばxslを使ってDKKを置くことができるのだろうかと思いましたか?
これをphpで行い、それらを適切な場所にマージして始めてもよろしいですか?
これは私がこれまでに得たものです。:
私が欲しいものは、通貨で、このテーブルを満たすことであるが、彼らは正しい場所にする必要があります。
EDIT:
XSLファイル:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name = "year-search" match = "row" use = "Year"/>
<xsl:variable name="landkoder">NOR,SWE,DNK,FRO,FIN,ISL,GRL</xsl:variable>
<xsl:template match="/">
<html>
<body>
<h2>Nordic Countries</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Country</th>
<!--<th>Country Code</th>
<th>Year</th>-->
<th>Population</th>
<th>Currency</th>
</tr>
<xsl:for-each select = "key('year-search', '2016')">
<xsl:if test="contains($landkoder, CountryCode)">
<tr>
<td><xsl:value-of select="CountryName"/></td>
<!--<td><xsl:value-of select="CountryCode"/></td>
<td><xsl:value-of select="Year"/></td>-->
<td><xsl:value-of select="Value"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Result(Sorry for Norwegian names on countries :P)
ありがとう!私はヨーロッパのすべてを含むようにそれを拡大したい場合。フィンランドなど、ユーロを通貨として使用している国はどうですか? – Steffinho
これは、主に2つの入力文書がどのように構造化され、どのデータが正確に含まれているかによって異なります。 –
私のサンプルで示した以上のデータはありません。同じ構造を使用している国や通貨がもう少しです。問題ありません、私は今のところそれをスキップするつもりだと思います。結果と私の質問を編集し、ソリューションの受け入れをするつもりです。 :) – Steffinho