[英]Muenchian Grouping, Sorting & Filtering using XSLT version 1.0
I have an XML which is as below: 我有一个XML,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<EnterpriseDocument ClientID="1000101" CreationTimestamp="2013-12-20T00:03:40.740" InterfaceName="InterfaceExport" ClientName="Zomba" CreationSource="Base" Version="1.0">
<BusinessUnitList>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItemList>
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-19" startTime="10:15" />
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-16" startTime="12:58" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="10:15" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-12-19" startTime="16:20" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="10:15" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-12-19" startTime="16:20" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-19" startTime="23:58" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-18" startTime="13:58" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buName="Site 2" buCode="0002" countryCode="GK">
<FuelItemList>
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-19" startTime="12:15" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="18:20" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-19" startTime="22:58" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="12:15" />
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-16" startTime="17:58" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="18:20" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="12:15" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-18" startTime="15:58" />
</FuelItemList>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
I need to get an output as below: 我需要获得如下输出:
<?xml version="1.0" encoding="utf-8"?>
<EnterpriseDocument ClientID="1000101" CreationTimestamp="2013-12-20T00:03:40.740" InterfaceName="InterfaceExport" ClientName="Zomba" CreationSource="Base" Version="1.0">
<BusinessUnitList>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItemList>
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="10:15" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="10:15" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buName="Site 2" buCode="0002" countryCode="GK">
<FuelItemList>
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="12:15" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="12:15" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buName="Site 2" buCode="0002" countryCode="GK">
<FuelItemList>
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="18:20" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="18:20" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItemList>
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-12-19" startTime="16:20" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-12-19" startTime="16:20" />
</FuelItemList>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
The rules that must be applied to attain the above are as follows: 要达到上述目的必须遵循的规则如下:
NOTE: I need solution only in XSLT 1.0 version. 注意:我仅在XSLT 1.0版本中需要解决方案。
Please let me know, if you need any clarification. 如果您需要任何澄清,请告诉我。
My Attempt is as below: 我的尝试如下:
<?xml version="1.0" encoding="utf-16"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:var="http://schemas.microsoft.com/BizTalk/2003/var"
exclude-result-prefixes="msxsl var" version="1.0">
<xsl:output omit-xml-declaration="yes" method="xml" version="1.0" />
<xsl:key name="GroupByStartDateTime" match="//FuelItem" use="concat(@startDate, '+', @startTime)" />
<xsl:template match="/" >
<EnterpriseDocument InterfaceName="{//@InterfaceName}" Version="{//@Version}" CreationTimestamp="{//@CreationTimestamp}" CreationSource="{//@CreationSource}" ClientID="{//@ClientID}" ClientName="{//@ClientName}" >
<BusinessUnitList>
<xsl:for-each select="//BusinessUnit">
<xsl:variable name="businessUnit" select="."/>
<xsl:for-each select="$businessUnit/FuelItemList/FuelItem">
<xsl:sort select="@startDate" />
<xsl:sort select="@startTime" />
<xsl:variable name="fuelItem" select="."/>
<xsl:for-each select="$fuelItem[generate-id() = generate-id(key('GroupByStartDateTime',concat(@startDate, '+', @startTime)))]">
<xsl:if test="@fuelItemExtID=2 or @fuelItemExtID=3">
<BusinessUnit buCode="{../../@buCode}" buName="{../../@buName}" countryCode="{../../@countryCode}" >
<FuelItemList>
<xsl:apply-templates select="key('GroupByStartDateTime',concat(@startDate, '+', @startTime))" mode="Item" />
</FuelItemList>
</BusinessUnit>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</BusinessUnitList>
</EnterpriseDocument>
</xsl:template>
<xsl:template match="FuelItem" mode="Item">
<FuelItem
fuelItemID="{@fuelItemID}"
fuelItemExtID="{@fuelItemExtID}"
fuelItemName="{@fuelItemName}"
price="{@price}"
startDate="{@startDate}"
startTime="{@startTime}"
priceType="{@priceType}"
serviceType="{@serviceType}"
/>
</xsl:template>
</xsl:stylesheet>
The output is as below: 输出如下:
<EnterpriseDocument InterfaceName="InterfaceExport" Version="1.0" CreationTimestamp="2013-12-20T00:03:40.740" CreationSource="Base" ClientID="1000101" ClientName="Zomba">
<BusinessUnitList>
<BusinessUnit buCode="0001" buName="Site 1" countryCode="TD">
<FuelItemList>
<FuelItem fuelItemID="0000002" fuelItemExtID="2" fuelItemName="Fuel_2" price="2.0001" startDate="2013-08-17" startTime="10:15" priceType="LiquidSynthetic" serviceType="Great" />
<FuelItem fuelItemID="0000003" fuelItemExtID="3" fuelItemName="Fuel_3" price="3.0001" startDate="2013-08-17" startTime="10:15" priceType="LiquidHydrogen" serviceType="Great" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buCode="0001" buName="Site 1" countryCode="TD">
<FuelItemList>
<FuelItem fuelItemID="0000002" fuelItemExtID="2" fuelItemName="Fuel_2" price="2.0001" startDate="2013-12-19" startTime="16:20" priceType="LiquidSynthetic" serviceType="Great" />
<FuelItem fuelItemID="0000003" fuelItemExtID="3" fuelItemName="Fuel_3" price="3.0001" startDate="2013-12-19" startTime="16:20" priceType="LiquidHydrogen" serviceType="Great" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buCode="0002" buName="Site 2" countryCode="GK">
<FuelItemList>
<FuelItem fuelItemID="0000002" fuelItemExtID="2" fuelItemName="Fuel_2" price="2.0001" startDate="2013-08-17" startTime="12:15" priceType="LiquidSynthetic" serviceType="Great" />
<FuelItem fuelItemID="0000003" fuelItemExtID="3" fuelItemName="Fuel_3" price="3.0001" startDate="2013-08-17" startTime="12:15" priceType="LiquidHydrogen" serviceType="Great" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buCode="0002" buName="Site 2" countryCode="GK">
<FuelItemList>
<FuelItem fuelItemID="0000003" fuelItemExtID="3" fuelItemName="Fuel_3" price="3.0001" startDate="2013-08-17" startTime="18:20" priceType="LiquidHydrogen" serviceType="Great" />
<FuelItem fuelItemID="0000002" fuelItemExtID="2" fuelItemName="Fuel_2" price="2.0001" startDate="2013-08-17" startTime="18:20" priceType="LiquidSynthetic" serviceType="Great" />
</FuelItemList>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
First thing: your Muenchian groupings are not set up correctly: you need to select items that are first in their group. 第一件事:Muenchian分组未正确设置:您需要选择其分组中最先的项目。 Instead of: 代替:
<xsl:for-each select="//BusinessUnit[generate-id() = generate-id(key('GroupByBusinessUnit',@buCode))]">
you should have: 你应该有:
<xsl:for-each select="//BusinessUnit[generate-id() = generate-id(key('GroupByBusinessUnit', @buCode)[1])]">
Other than that, it seems to me that this could be simplified to: 除此之外,在我看来,这可以简化为:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='xml' version='1.0' encoding='utf-8' indent='yes'/>
<xsl:key name="similarItems" match="FuelItem[@fuelItemExtID=2 or @fuelItemExtID=3]" use="concat(../../@buCode, '+', @startDate, '+', @startTime)" />
<xsl:template match="/EnterpriseDocument">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<BusinessUnitList>
<xsl:for-each select="//FuelItem[generate-id() = generate-id(key('similarItems', concat(../../@buCode, '+', @startDate, '+', @startTime))[1])]">
<xsl:sort select="@startDate" data-type="text" order="ascending"/>
<xsl:sort select="@startTime" data-type="text" order="ascending"/>
<BusinessUnit>
<xsl:apply-templates select="../../@*"/>
<xsl:for-each select="key('similarItems', concat(../../@buCode, '+', @startDate, '+', @startTime))">
<xsl:sort select="@fuelItemExtID" data-type="number" order="ascending"/>
<xsl:copy-of select="."/>
</xsl:for-each>
</BusinessUnit>
</xsl:for-each>
</BusinessUnitList>
</xsl:copy>
</xsl:template>
<xsl:template match="@*">
<xsl:copy/>
</xsl:template>
</xsl:stylesheet>
When applied to your original input: 当应用于原始输入时:
<?xml version="1.0" encoding="utf-8"?>
<EnterpriseDocument ClientID="1000101" CreationTimestamp="2013-12-20T00:03:40.740" InterfaceName="InterfaceExport" ClientName="Zomba" CreationSource="Base" Version="1.0">
<BusinessUnitList>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItemList>
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-19" startTime="10:15" />
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-16" startTime="12:58" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="10:15" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-12-19" startTime="16:20" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="10:15" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-12-19" startTime="16:20" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-19" startTime="23:58" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-18" startTime="13:58" />
</FuelItemList>
</BusinessUnit>
<BusinessUnit buName="Site 2" buCode="0002" countryCode="GK">
<FuelItemList>
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-19" startTime="12:15" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="18:20" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-19" startTime="22:58" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="12:15" />
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0001" priceType="Liquid" serviceType="Great" startDate="2013-12-16" startTime="17:58" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="18:20" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="12:15" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0001" priceType="LiquidNitrogen" serviceType="Great" startDate="2013-12-18" startTime="15:58" />
</FuelItemList>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
The result is: 结果是:
<?xml version="1.0" encoding="utf-8"?>
<EnterpriseDocument ClientID="1000101" CreationTimestamp="2013-12-20T00:03:40.740" InterfaceName="InterfaceExport" ClientName="Zomba" CreationSource="Base" Version="1.0">
<BusinessUnitList>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="10:15"/>
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="10:15"/>
</BusinessUnit>
<BusinessUnit buName="Site 2" buCode="0002" countryCode="GK">
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="12:15"/>
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="12:15"/>
</BusinessUnit>
<BusinessUnit buName="Site 2" buCode="0002" countryCode="GK">
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-08-17" startTime="18:20"/>
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-08-17" startTime="18:20"/>
</BusinessUnit>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0001" priceType="LiquidSynthetic" serviceType="Great" startDate="2013-12-19" startTime="16:20"/>
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0001" priceType="LiquidHydrogen" serviceType="Great" startDate="2013-12-19" startTime="16:20"/>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
Using your alternative input: 使用替代输入:
<?xml version="1.0" encoding="utf-8"?>
<EnterpriseDocument ClientID="1000001" CreationTimestamp="2014-01-10T13:56:47.259" InterfaceName="InterfaceExport" ClientName="Zomba" CreationSource="Base" Version="1.0">
<BusinessUnitList>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItemList>
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0050" priceType="Liquid" serviceType="Great" startDate="2014-01-10" startTime="13:45" />
<FuelItem fuelItemID="0000001" fuelItemName="Fuel_1" fuelItemExtID="1" price="1.0100" priceType="Liquid" serviceType="Great" startDate="2014-01-10" startTime="13:46" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0050" priceType="LiquidSynthetic" serviceType="Great" startDate="2014-01-10" startTime="13:45" />
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0100" priceType="LiquidSynthetic" serviceType="Great" startDate="2014-01-10" startTime="13:46" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0050" priceType="LiquidHydrogen" serviceType="Great" startDate="2014-01-10" startTime="13:45" />
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0100" priceType="LiquidHydrogen" serviceType="Great" startDate="2014-01-10" startTime="13:46" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0050" priceType="LiquidNitrogen" serviceType="Great" startDate="2014-01-10" startTime="13:45" />
<FuelItem fuelItemID="0000004" fuelItemName="Fuel_4" fuelItemExtID="4" price="4.0100" priceType="LiquidNitrogen" serviceType="Great" startDate="2014-01-10" startTime="13:46" />
</FuelItemList>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
The result will be: 结果将是:
<?xml version="1.0" encoding="utf-8"?>
<EnterpriseDocument ClientID="1000001" CreationTimestamp="2014-01-10T13:56:47.259" InterfaceName="InterfaceExport" ClientName="Zomba" CreationSource="Base" Version="1.0">
<BusinessUnitList>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0050" priceType="LiquidSynthetic" serviceType="Great" startDate="2014-01-10" startTime="13:45"/>
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0050" priceType="LiquidHydrogen" serviceType="Great" startDate="2014-01-10" startTime="13:45"/>
</BusinessUnit>
<BusinessUnit buName="Site 1" buCode="0001" countryCode="TD">
<FuelItem fuelItemID="0000002" fuelItemName="Fuel_2" fuelItemExtID="2" price="2.0100" priceType="LiquidSynthetic" serviceType="Great" startDate="2014-01-10" startTime="13:46"/>
<FuelItem fuelItemID="0000003" fuelItemName="Fuel_3" fuelItemExtID="3" price="3.0100" priceType="LiquidHydrogen" serviceType="Great" startDate="2014-01-10" startTime="13:46"/>
</BusinessUnit>
</BusinessUnitList>
</EnterpriseDocument>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.