0
我正在嘗試合併兩個xml文件和基於條件的更新。在第一個文件中,您會注意到有3個SECTION_SUMMARY序列。第三序列的LockAuthority Attetete爲「1」。用xslt和條件合併2個xml文件
File1.xml
<DOCUMENT>
<LOANS>
<LOAN SequenceNumber="1" xlink:label="LOAN1" LoanRoleType="SubjectLoan">
<DOCUMENT_SETS>
<DOCUMENT_SET>
<GFE>
<SECTION_SUMMARIES>
<SECTION_SUMMARY SequenceNumber="1">
<Amount>1975.00</Amount>
<Type>A</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="2">
<Amount>9751.44</Amount>
<Type>B</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="3" LockAuthority="1">
<Amount>3750.00</Amount>
<Type>A</Type>
</SECTION_SUMMARY>
</SECTION_SUMMARIES>
</GFE>
</DOCUMENT_SET>
</DOCUMENT_SETS>
<ESCROW>
<ESCROW_DETAIL>
<InsuranceIndicator>true</InsuranceIndicator>
<AllPropertyTaxesIndicator>true</AllPropertyTaxesIndicator>
<OtherDescription>HOA</OtherDescription>
</ESCROW_DETAIL>
</ESCROW>
</LOAN>
</LOANS>
</DOCUMENT>
在第二個文件中有序列3到5.出現在兩個文件中的序列3具有值爲「2」的LockAuthority屬性。如果該值大於或等於文件1中的值,則值來自File1的File2 else值。我也想要任何沒有在File1中合併的LockAuthority的數據點。如果沒有LockAuthority,則來自File2的數據將佔上風。
File2.xml
<DOCUMENT>
<LOANS>
<LOAN SequenceNumber="1" xlink:label="LOAN1" LoanRoleType="SubjectLoan">
<DOCUMENT_SETS>
<DOCUMENT_SET>
<GFE>
<SECTION_SUMMARIES>
<SECTION_SUMMARY SequenceNumber="3" LockAuthority="2">
<Amount>200.00</Amount>
<Type>Header</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="4">
<Amount>-3000.00</Amount>
<Type>Two</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="5">
<Amount>5392.25</Amount>
<Type>Three</Type>
</SECTION_SUMMARY>
</SECTION_SUMMARIES>
</GFE>
</DOCUMENT_SET>
</DOCUMENT_SETS>
</LOAN>
</LOANS>
</DOCUMENT>
生成的文件應該看起來像這樣。
<DOCUMENT>
<LOANS>
<LOAN SequenceNumber="1" xlink:label="LOAN1" LoanRoleType="SubjectLoan">
<DOCUMENT_SETS>
<DOCUMENT_SET>
<GFE>
<SECTION_SUMMARIES>
<SECTION_SUMMARY SequenceNumber="1">
<Amount>1975.00</Amount>
<Type>A</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="2">
<Amount>9751.44</Amount>
<Type>B</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="3" LockAuthority="2">
<Amount>200.00</Amount>
<Type>Header</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="4">
<Amount>-3000.00</Amount>
<Type>Two</Type>
</SECTION_SUMMARY>
<SECTION_SUMMARY SequenceNumber="5">
<Amount>5392.25</Amount>
<Type>Three</Type>
</SECTION_SUMMARY>
</SECTION_SUMMARIES>
</GFE>
</DOCUMENT_SET>
</DOCUMENT_SETS>
<ESCROW>
<ESCROW_DETAIL>
<InsuranceIndicator>true</InsuranceIndicator>
<AllPropertyTaxesIndicator>true</AllPropertyTaxesIndicator>
<OtherDescription>HOA</OtherDescription>
</ESCROW_DETAIL>
</ESCROW>
</LOAN>
</LOANS>
</DOCUMENT>
任何和所有的幫助,非常感謝!
我將第5行的文件名更改爲我的文件名並執行此操作。我只獲取了File1中的數據。我錯過了什麼? – user2452998
應該工作。 (我用xsltproc測試過)XML文件和xslt在同一個目錄下嗎?你用你發佈的xml文件做測試嗎?也許在你的測試中涉及命名空間(因爲xlink:label)? –
文件全部位於同一個目錄中。將你的答案複製到新文件並保存到同一個目錄。將新的xslt分配給File1並執行XSL轉換。我正在使用XMLSpy。試過去除標籤。我正在使用我發佈的相同文件。還有什麼建議? – user2452998