私はXSLとXPATHを使用して、同じ名前の異なる値を持つ複数のノードを持つ複雑なXMLファイルをトラバースし、読み取り、変換しています。 xmlファイルは以下である私のサンプル -xpathとxslを使用したxmlドキュメントのトラブリア
<core>
<address>
<postalZipCode>90017</postalZipCode>
<updateSource>xxxxxx</updateSource>
<city>LOS ANGELES</city>
<stateProvince>CA</stateProvince>
<type>MAILING</type>
<line1>818 WEST SEVENTH STREET</line1>
</address>
<address>
<postalZipCode>95014</postalZipCode>
<updateSource>xxxxxx</updateSource>
<city>CUPERTINO</city>
<stateProvince>CA</stateProvince>
<type>PRIMARY</type>
<line1>1234 XYZ STREET</line1>
</address>
<memberId>0</memberId>
</core>
私はメーリングリストのアドレスラインに1つの値を読んだとき、私は取得しています値は、本質的にプライマリアドレスである「1234 XYZ STREET」です。ここに私のXSLファイルの抜粋は次のとおりです。 -
<xsl:template match="core">
<xsl:if test="memberId['0'] and address/type['MAILING']">
<fo:table-row>
<fo:table-cell><fo:block /></fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="data">
<fo:block>Line 1</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="data">
<fo:block><xsl:value-of select="address/line1/text()"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
アドレスが郵送された場合の正しい値を読み出すためにXSLを強制することができ、他の方法がある場合は、ここでの専門家ではなく、最初に見つかった値を読んで、提案してくださいでした???
"私が得ている価値は" 1234 XYZ STREET "*"いいえ、それはあなたがここに投稿したコードを使って得ている** **値ではありません。 –