1

XML ファイルを読み取って要素内の値を取得し、下流で使用する別の XML を作成する XSL スクリプトがあります。

元の XML ファイルからの出力の例は次のとおりです。

<e:OnboardingProcess>
    <e:Assignment>
        <e:Assignment>
            <e:Application>
                <e:Application>
                    <e:CandidateIndentificationNo>7047961</e:CandidateIndentificationNo>
                </e:Application>
            </e:Application>
            <e:Offer>
                <e:Offer>
                    <e:UDFs>
                        <e:UDF name="FRB_5fOnboarding_5fLocation">
                            <e:CustomSelectionElement>
                                <e:Code>1204</e:Code>
                            </e:CustomSelectionElement>
                        </e:UDF>
                    </e:UDFs>
                </e:Offer>
            </e:Offer>
            <e:TalentMasterFile>
                <e:TalentMasterFile>
                    <e:User>
                        <e:User>
                            <e:EmployeeID></e:EmployeeID>
                            <e:FirstName>Peter</e:FirstName>
                            <e:LastName>Griffin</e:LastName>
                        </e:User>
                    </e:User>
                </e:TalentMasterFile>
            </e:TalentMasterFile>

私の XSL スクリプトには、いくつかの値を参照するコードがあり、次のようになります。

<xsl:variable name="CandidateNumber" select="../../e:Assignment/e:Assignment/e:Application/e:Application/e:CandidateIndentificationNo"/>
<xsl:variable name="FirstName" select="../../e:Assignment/e:Assignment/e:TalentMasterFile/e:TalentMasterFile/e:User/e:User/e:FirstName"/>
<xsl:variable name="LastName" select="../../e:Assignment/e:Assignment/e:TalentMasterFile/e:TalentMasterFile/e:User/e:User/e:LastName"/>
<xsl:variable name="Location" select="../../e:Assignment/e:Assignment/e:Offer/e:Offer/e:UDFs/e:CustomSelectionElement/e:Code"/>

「場所コード」以外のすべてでうまく機能し、唯一の違いは、場所の前に特別な要素があること<e:UDF name="FRB_5fOnboarding_5fLocation">です。<e:UDF name="FRB_5fOnboarding_5fLocation">場所コードにマップする方法や、元の XML ファイルを取得し、要素の出現箇所をすべて削除し、不要な要素がないことを除いて最初の XML ファイルと同じように見える新しい XML ファイルを出力するプログラムを作成する方法を知っている人はいますか? .

4

1 に答える 1

1

location 要素への XPath に e:UDF 要素のステップがありません。

<xsl:variable name="Location" select="../../e:Assignment/e:Assignment/e:Offer/e:Offer/e:UDFs/e:CustomSelectionElement/e:Code"/>

実際にあるはずです

<xsl:variable name="Location" select="../../e:Assignment/e:Assignment/e:Offer/e:Offer/e:UDFs/e:UDF/e:CustomSelectionElement/e:Code"/>
于 2013-03-05T22:43:41.783 に答える