【发布时间】:2019-06-18 13:01:02
【问题描述】:
输入信息:
输入文件在详细信息中具有三个记录,顺序为“成员”、“产品”和“依赖”,在每个记录中都有一个公共字段“标识符”出于某种原因,我们得到每个成员和产品循环到一个细节中,每个依赖都循环到单独的细节中 ..................................................... ....................
<ns0:Root xmlns:ns0="Test">
<Detail>
<Member>
<Name>Jerry</Name>
<Address>Miami</Address>
<PhoneNumber>7008084201</PhoneNumber>
<Identifier>225692067</Identifier>
</Member>
<Product>
<Name>Phone</Name>
<Type>Personal</Type>
<Serial>000000111111</Serial>
<Identifier>225692067</Identifier>
</Product>
</Detail>
<Detail>
<Dependent>
<DependentName>Tom</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>7228084302</DependentPhoneNumber>
<Identifier>225692067</Identifier>
</Dependent>
</Detail>
<Detail>
<Dependent>
<DependentName>Tom1</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>8228084302</DependentPhoneNumber>
<Identifier>225692067</Identifier>
</Dependent>
</Detail>
<Detail>
<Dependent>
<DependentName>Tom2</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>9228084302</DependentPhoneNumber>
<Identifier>225692067</Identifier>
</Dependent>
</Detail>
<Detail>
<Member>
<Name>John</Name>
<Address>Kansas</Address>
<PhoneNumber>5007684306</PhoneNumber>
<Identifier>699039521</Identifier>
</Member>
<Product>
<Name>Xbox</Name>
<Type>Personal</Type>
<Serial>000000222222</Serial>
<Identifier>699039521</Identifier>
</Product>
</Detail>
<Detail>
<Member>
<Name>Larry</Name>
<Address>Newjersey</Address>
<PhoneNumber>6004567307</PhoneNumber>
<Identifier>230903815</Identifier>
</Member>
<Product>
<Name>Iphone</Name>
<Type>Personal</Type>
<Serial>0000003333333</Serial>
<Identifier>230903815</Identifier>
</Product>
</Detail>
<Detail>
<Dependent>
<DependentName>Luis</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>7897684302</DependentPhoneNumber>
<Identifier>230903815</Identifier>
</Dependent>
</Detail>
<Detail>
<Dependent>
<DependentName>LuisMead</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>7229876302</DependentPhoneNumber>
<Identifier>230903815</Identifier>
</Dependent>
</Detail>
</ns0:Root>
预期输出 XML:
输出文件也类似于输入文件,但顺序是“成员”、“依赖”和“产品”。在这种情况下,公共字段“标识符”也是常见的。这个想法是使详细信息在“成员”、“依赖”和“产品”顺序上循环。 ..................................................... .....................................
<ns0:Root xmlns:ns0="Test">
<Detail>
<Member>
<Name>Jerry</Name>
<Address>Miami</Address>
<PhoneNumber>7008084201</PhoneNumber>
<Identifier>225692067</Identifier>
</Member>
<Dependent>
<DependentName>Tom</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>7228084302</DependentPhoneNumber>
<Identifier>225692067</Identifier>
</Dependent>
<Dependent>
<DependentName>Tom1</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>8228084302</DependentPhoneNumber>
<Identifier>225692067</Identifier>
</Dependent>
<Dependent>
<DependentName>Tom2</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>9228084302</DependentPhoneNumber>
<Identifier>225692067</Identifier>
</Dependent>
<Product>
<Name>Phone</Name>
<Type>Personal</Type>
<Serial>000000111111</Serial>
<Identifier>225692067</Identifier>
</Product>
</Detail>
<Detail>
<Member>
<Name>John</Name>
<Address>Kansas</Address>
<PhoneNumber>5007684306</PhoneNumber>
<Identifier>699039521</Identifier>
</Member>
<Product>
<Name>Xbox</Name>
<Type>Personal</Type>
<Serial>000000222222</Serial>
<Identifier>699039521</Identifier>
</Product>
</Detail>
<Detail>
<Member>
<Name>Larry</Name>
<Address>Newjersey</Address>
<PhoneNumber>6004567307</PhoneNumber>
<Identifier>230903815</Identifier>
</Member>
<Dependent>
<DependentName>Luis</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>7897684302</DependentPhoneNumber>
<Identifier>230903815</Identifier>
</Dependent>
<Dependent>
<DependentName>LuisMead</DependentName>
<DependentAddress>Miami</DependentAddress>
<DependentPhoneNumber>7229876302</DependentPhoneNumber>
<Identifier>230903815</Identifier>
</Dependent>
<Product>
<Name>Iphone</Name>
<Type>Personal</Type>
<Serial>0000003333333</Serial>
<Identifier>230903815</Identifier>
</Product>
</Detail>
</ns0:Root>
需要为此编写 XSLT 1.0 代码的建议。
【问题讨论】:
-
请提出具体问题。
-
输入文件在 Detail 中有三个记录,顺序为“Member”、“Product”和“Dependent”,由于某种原因,我们变得像每个 Member 和 Product 都被循环到一个细节中并且每个依赖循环到单独的细节。它需要以一种顺序为“成员”、“从属”和“产品”的方式形成,并作为一个组详细信息来。所有记录的公共字段是“标识符”
-
将此与您当前的 XSLT 一起添加到您的问题中。