-2
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="stylexslt3.xslt"?>
<team>
<teaminfo>
<logo source="logomym.jpg"/>
<teampage address="http://www.site.com/"/>
<name> Team name </name>
<team_photo source="teamphoto.jpg"/>
<game> Game1 </game>
<achievements>
<premiere_tournaments>
<tournament>
<logoevent source="event1.jpg"/>
<tournament_name> tournament name </tournament_name>
<placing> 1 </placing>
<prize_pool>
<earned_prize> 10600 </earned_prize>
<average_prize> 4454 </average_prize>
</prize_pool>
</tournament>
<tournament>
<logoevent source="event2.jpg"/>
<tournament_name> tournament name </tournament_name>
<placing> 3 </placing>
<prize_pool>
<earned_prize> 10600 </earned_prize>
<average_prize> 4454 </average_prize>
</prize_pool>
</tournament>
</premiere_tournaments>
</achievements>
</teaminfo>
<captain>
<nick>Player1</nick>
<role> Def </role>
<captain_since>2011-01-14</captain_since>
<Country>Country</Country>
</captain>
<player>
<player_level>A-</player_level>
<player_info streamer="y">
<photo source="playerphoto.jpg"/>
<nick>Playerino</nick>
<rola>Att</rola>
<style>roamer</style>
<opinion_patch>Positive</opinion_patch>
<fanpage adres="http://facebook.com/playerFanPage"/>
<playergrade grade="Good"/>
</player_info>
<personal>
<name>Matt</name>
<surname>Kuk</surname>
<age>22</age>
<country>Counter</country>
</personal>
</player>
<player>
<player_level>A-</player_level>
<player_info streamer="y">
<photo source="playerphoto.jpg"/>
<nick>Playerino</nick>
<rola>Att</rola>
<style>roamer</style>
<opinion_patch>Positive</opinion_patch>
<fanpage adres="http://facebook.com/playerFanPage"/>
<playergrade grade="Good"/>
</player_info>
<personal>
<name>Matt</name>
<surname>Kuk</surname>
<age>22</age>
<country>Counter</country>
</personal>
</player>
<sponsors>
<sponsor>
<companyname>Compname</companyname>
<support_type>Periph, ads</support_type>
<sponsor_page official_page="http://link.com"/>
<fanpage fan_strona="http://lin43k.com"/>
</sponsor>
</sponsors>
<perip>
<mouse> mouse </mouse>
<keyboard> keyboard </keyboard>
<headphones> headphones </headphones>
</perip>
</team>
我一直在用這個可怕的東西整夜奮戰,不幸的是,網絡上的材料數量並沒有爲我提供滿意的方法來解決我的問題。我想通過xslt進行xml文件的「轉換」。我想這樣做,以改變它的結構和可能的屬性或元素的名稱。通過XSLT將XML轉換爲XML
我要實現類似這樣的東西:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="stylexslt3.xslt"?>
<team>
<teaminfo>
<logo source="logomym.jpg"/>
<teampage address="http://www.site.com/"/>
<name> Team name </name>
<team_photo source="teamphoto.jpg"/>
<game> Game1 </game>
</teaminfo>
<achievements>
<premiere_tournaments>
<tournament>
<logoevent source="event1.jpg"/>
<tournament_name> tournament name </tournament_name>
<placing> 1 </placing>
<prize_pool>
<earned_prize> 10600 </earned_prize>
<average_prize> 4454 </average_prize>
</prize_pool>
</tournament>
<tournament>
<logoevent source="event2.jpg"/>
<tournament_name> tournament name </tournament_name>
<placing> 3 </placing>
<prize_pool>
<earned_prize> 10600 </earned_prize>
<average_prize> 4454 </average_prize>
</prize_pool>
</tournament>
</premiere_tournaments>
</achievements>
<player>
<nick>Player1</nick>
<role> Def </role>
<captain_since>2011-01-14</captain_since>
<Country>Country</Country>
</player>
<player>
<player_level>A-</player_level>
<player_info streamer="y">
<photo source="playerphoto.jpg"/>
<nick>Playerino</nick>
<rola>Att</rola>
<style>roamer</style>
<opinion_patch>Positive</opinion_patch>
<fanpage adres="http://facebook.com/playerFanPage"/>
<playergrade grade="Good"/>
</player_info>
<personal>
<name>Matt</name>
<surname>Kuk</surname>
<age>22</age>
<country>Counter</country>
</personal>
</player>
<player>
<player_level>A-</player_level>
<player_info streamer="y">
<photo source="playerphoto.jpg"/>
<nick>Playerino</nick>
<role>Att</role>
<style>roamer</style>
<opinion_patch>Positive</opinion_patch>
<fanpage adres="http://facebook.com/playerFanPage"/>
<playergrade grade="Good"/>
</player_info>
<personal>
<name>Matt</name>
<surname>Kuk</surname>
<age>22</age>
<country>Counter</country>
</personal>
</player>
</team>
此外,如果可能的話請包括方法改變元素的名稱。我試圖用多種不同的方法做到這一點,但它似乎或者我發現的方法不正確,或者我無法弄清楚如何正確使用它們。現在我不會發布我的xslt,因爲它瘋狂地被屠殺了。
我投票結束這個問題。請嘗試在較小的部分分解您的問題,並將其單獨發佈爲問題。 _總是包括,到目前爲止,你已經嘗試了什麼,以及你認爲自己被困住了。一般而言,可能由answerers生成的幾百個SLOC長XSLT樣式表不在StackOverflow的範圍內。 – Boldewyn
有了這樣的問題,您應該以XSLT標識轉換爲基礎。請參閱http://en.wikipedia.org/wiki/Identity_transform。然後,看看http://stackoverflow.com/questions/17920639/rename-element-and-retain-attributes和http://stackoverflow.com/questions/4781182/xslt-to-remove-elements-from- xml告訴你如何重命名元素,並分別移除元素。這應該爲你寫一些更精簡的XSLT的道路。 –
使用一致的縮進格式重新格式化XML;第二個示例中添加了缺少結束標記。 –