本文介紹了將 XML 文件轉換為屬性 XML的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
這是我的簡單 XML 文件:-
This is my simple XML file:-
<products>
<value>
<value>
<region_timezone>
<value>1</value>
</region_timezone>
<registrationstatus>
<value>2</value>
</registrationstatus>
<eventstatus>
<value>2</value>
</eventstatus>
<dist_activity>
<value>5</value>
<value>10068</value>
<value>10070</value>
</dist_activity>
<reg_str_dt>
<value>2013-01-14 20:35:00</value>
</reg_str_dt>
<reg_end_dt>
<value>2013-01-14 20:35:00</value>
</reg_end_dt>
<product_id>1</product_id>
<tab_id>351</tab_id>
<tab_name>test1</tab_name>
</value>
</value>
<value>
<value>
<region_timezone>
<value>1</value>
</region_timezone>
<registrationstatus>
<value>2</value>
</registrationstatus>
<eventstatus>
<value>2</value>
</eventstatus>
<dist_activity>
<value>5</value>
<value>10069</value>
<value>10070</value>
</dist_activity>
<reg_str_dt>
<value>2013-02-14 20:39:00</value>
</reg_str_dt>
<reg_end_dt>
<value>2013-02-14 20:39:00</value>
</reg_end_dt>
<product_id>2</product_id>
<tab_id>352</tab_id>
<tab_name>test2</tab_name>
</value>
</value>
</products>
我想將它們轉換成這樣:-
I want to convert them to this:-
<products>
<value>
<value>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1"></tab_name>
<region_timezone value="1">
</region_timezone>
<registrationstatus value="2">
</registrationstatus>
<eventstatus value="2">
</eventstatus>
<dist_activity value="5,10068,10070">
</dist_activity>
<reg_str_dt value="2013-01-14 20:35:00">
</reg_str_dt>
<reg_end_dt value="2013-01-14 20:35:00">
</reg_end_dt>
</tab_id>
</product_id>
</value>
</value>
<value>
<value>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2"></tab_name>
<region_timezone value="1">
</region_timezone>
<registrationstatus value="2">
</registrationstatus>
<eventstatus value="2">
</eventstatus>
<dist_activity value="5,10069,10070">
</dist_activity>
<reg_str_dt value="2013-02-14 20:39:00">
</reg_str_dt>
<reg_end_dt value="2013-02-14 20:39:00">
</reg_end_dt>
</tab_id>
</product_id>
</value>
</value>
</products>
有沒有可能給我最好的重播
使用 PHP 代碼是可能的,那么對我來說是最好的......我有一個 PHP 文件可以在 Sql 數據庫中生成我的簡單 Xml 文件...謝謝
Is It Possible Then Give Me Best Replay
It's Possible With Php Code Then Best For Me...
I Have One Php File Thats Generate My Simple Xml File In The Sql Database...
Thanks
推薦答案
應該這樣做:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="value">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="products/value/value">
<product_id value="{product_id}">
<tab_id value="{tab_id}">
<tab_name value="{tab_name}" />
<xsl:apply-templates select="node()" />
</tab_id>
</product_id>
</xsl:template>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="self::*[value[not(*)]]"
mode="values" />
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="value[not(*)]" />
<xsl:template match="*" mode="values">
<xsl:attribute name="value">
<xsl:apply-templates select="value[not(*)]" mode="values"/>
</xsl:attribute>
</xsl:template>
<xsl:template match="value" mode="values">
<xsl:value-of select="concat(., ',')"/>
</xsl:template>
<xsl:template match="value[last()]" mode="values">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="product_id | tab_id | tab_name" />
</xsl:stylesheet>
在您的示例輸入上運行時,會產生:
When run on your sample input, this produces:
<products>
<product_id value="1">
<tab_id value="351">
<tab_name value="test1" />
<region_timezone value="1" />
<registrationstatus value="2" />
<eventstatus value="2" />
<dist_activity value="5,10068,10070" />
<reg_str_dt value="2013-01-14 20:35:00" />
<reg_end_dt value="2013-01-14 20:35:00" />
</tab_id>
</product_id>
<product_id value="2">
<tab_id value="352">
<tab_name value="test2" />
<region_timezone value="1" />
<registrationstatus value="2" />
<eventstatus value="2" />
<dist_activity value="5,10069,10070" />
<reg_str_dt value="2013-02-14 20:39:00" />
<reg_end_dt value="2013-02-14 20:39:00" />
</tab_id>
</product_id>
</products>
這篇關于將 XML 文件轉換為屬性 XML的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!