【发布时间】:2017-07-12 09:44:42
【问题描述】:
我需要使用 XSLT 从 XML 文件动态输出数据。我们有几种不同的数据结构,而不是必须显式循环遍历每个部分,我想知道是否有一种方法可以在一个代码块中完成。这是我将收到的 XML 示例:
<IntermediaryInfo>
<PersonalInformation>
<Title>str1234</Title>
<FirstName>str1234</FirstName>
<Surname>str1234</Surname>
<DateofBirth>2012-12-13</DateofBirth>
<WorkTelephoneNumber>str1234</WorkTelephoneNumber>
</PersonalInformation>
<CompanyInformation>
<CompanyName>str1234</CompanyName>
<CompanyFCANumber>str1234</CompanyFCANumber>
</CompanyInformation>
<CompanyAddress>
<PostCode>str1234</PostCode>
<HouseNumber>str1234</HouseNumber>
<HouseName>str1234</HouseName>
<AddressLine1>str1234</AddressLine1>
<AddressLine2>str1234</AddressLine2>
</CompanyAddress>
<CompanyPermissionLevels>
<AdvisingonConsumer>str1234</AdvisingonConsumer>
<ArrangingConsumerBuytoLetmortgageContracts>str1234</ArrangingConsumerBuytoLetmortgageContracts>
</CompanyPermissionLevels>
<PrincipleFirm>
<FirmName>str1234</FirmName>
<FirmFCANumber>123</FirmFCANumber>
</PrincipleFirm>
<LendingPartner>str1234</LendingPartner>
</IntermediaryInfo>
有没有办法遍历每个节点并使用 XSLT 输出节点名称和值?所以它看起来像这样:
PersonalInformation
-------------------
Title: str1234
FirstName: str1234
Surname: str1234
DateofBirth: 2012-12-13
WorkTelephoneNumber: str1234
CompanyInformation
------------------
CompanyName: str1234
CompanyFCANumber: str1234
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您需要为此类转换提供特定规则。例如,
LendingPartner应该如何在输出中呈现?如果其他部分的层次结构比此处显示的更深怎么办? -
您是使用 XSL-FO 生成格式化的 PDF 还是仅生成文本?如果只是文本,则不需要应用“xsl-fo”标签。
-
没有更深层次的层次结构,LendingPartner 的输出与其余部分相同,如 LendingPartner: str1234。只是文字,抱歉,我将删除 xsl-fo 标记。
-
"LendingPartner 的输出与其他输出相同" 但是在什么标题下?
-
哦,对了,对不起,它没有标题,任何没有父标签的标签都将作为标题本身输出,如下面的答案所示。