繁体   English   中英

使用XSLT合并两个具有不同标签的XML文件

[英]Merging two XML files (with different tags) with XSLT

我正在尝试将两个不同的XML文件(具有不同的布局)合并到XSL文件中。 我想将它们与名称/标题值匹配。 我不是一位经验丰富的XML程序员,但是我想尽可能多地学习。

我一直在寻找与我的问题类似的其他问题,但是它们对我没有任何帮助,所以请借给我您的知识:)

turistvegene-data-ut.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="turistveier_collect2.xsl"?>

            <turistveg-attraksjon>
            <title>Hamningberg</title>
            <latitude>70.54112485</latitude>
            <longitude>30.6099191</longitude>
            <description_no>
                  <p>Ytterst på Varangerhalvøya mot Ishavet ligger det fraflyttede fiskeværet Hamningberg. Fiskeværet danner et tradisjonelt finnmarksmiljø, og har sin helt spesielle sjel med bygninger fra før andre verdenskrig. Noen av dem er russiske laftede tømmerhus fra 1800-tallet.</p>
            </description_no>

            </turistveg-attraksjon>

------------------THIS IS THE ONE I WANT TO MERGE-------------------

            <turistveg-attraksjon>
            <title>Nesseby kirke</title>
            <latitude>70.14559409</latitude>
            <longitude>28.8631532</longitude>
            <description_no>
                  <p>Fra Nesseby er det kort veg ned til fjorden og landemerket Nesseby kirke. Tyskernes brente jords taktikk under andre verdenskrig, etterlot Finnmark og Nord-Troms i flammer. Som et under ble Nesseby kirke stående urørt. Kirken er fra 1858 med barokk altertavle fra ca. 1720.</p>
            </description_no>

            </turistveg-attraksjon>

------------------------------------------------------------------

nesseby_vaer.xml

        <?xml version="1.0" encoding="utf-8"?>
        <weatherdata>
          <location>
            <name>Nesseby kirke</name>
            <type>Kirke</type>
            <country>Norge</country>
            <timezone id="Europe/Oslo" utcoffsetMinutes="60" />
            <location altitude="0" latitude="70.1449466334966" longitude="28.8606073977944" geobase="ssr" geobaseid="2324746" />
          </location>
          <sun rise="2017-10-30T07:27:11" set="2017-10-30T14:07:53" />
          <forecast>
            <text>
              <location name="Nesseby">
                <time from="2017-10-30" to="2017-10-30">
                  <title>mandag</title>

--------    I ONLY WANT THIS <body> DATA ------------

 <body>Finnmark: I kyst- og fjordstrøkene vestlig liten kuling utsatte steder, periodevis stiv kuling på kysten i nord. Snøbyger, få eller ingen byger lengst øst og på Vidda.</body> 

----------------------------------------------------

                </time>
                <time from="2017-10-31" to="2017-10-31">
                  <title>tirsdag</title>
                  <body>Finnmark: Første del av dagen vestlig liten kuling utsatte steder i kyst- og fjordstrøkene, ellers bris. Snøbyger, få eller ingen byger i indre strøk.</body>
                </time>

结果应该看起来像这样

        <turistveg-attraksjon>
        <title>Hamningberg</title>
        <latitude>70.54112485</latitude>
        <longitude>30.6099191</longitude>
        <description_no>
              <p>Ytterst på Varangerhalvøya mot Ishavet ligger det fraflyttede fiskeværet Hamningberg. Fiskeværet danner et tradisjonelt finnmarksmiljø, og har sin helt spesielle sjel med bygninger fra før andre verdenskrig. Noen av dem er russiske laftede tømmerhus fra 1800-tallet.</p>
        </description_no>

        </turistveg-attraksjon>
        <turistveg-attraksjon>
        <title>Nesseby kirke</title>
        <latitude>70.14559409</latitude>
        <longitude>28.8631532</longitude>
        <description_no>
              <p>Fra Nesseby er det kort veg ned til fjorden og landemerket Nesseby kirke. Tyskernes brente jords taktikk under andre verdenskrig, etterlot Finnmark og Nord-Troms i flammer. Som et under ble Nesseby kirke stående urørt. Kirken er fra 1858 med barokk altertavle fra ca. 1720.</p>
        </description_no>

            <body>Finnmark: I kyst- og fjordstrøkene vestlig liten kuling utsatte steder, periodevis stiv kuling på kysten i nord. Snøbyger, få eller ingen byger lengst øst og på Vidda.</body>

        </turistveg-attraksjon>

你想要类似的东西

<xsl:template match="turistveg-attraksjon">
  <xsl:copy>
    <xsl:copy-of select="*"/>
    <xsl:copy-of select="document('nesseby_vaer.xml')
        /weatherdata[location/name=current()/title)//time[1]/body"/>
  </xsl:copy>
</xsltemplate>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM