0

XML はあまり使用しませんが、一部のデータを調整する必要があります。notepad ++から以下の行を投稿しました。LoanID が重複している行全体を削除する必要があります。ファイルには、200 の LoanID が重複している約 200.000 行が含まれています。

行全体を複製する必要はなく、「列」が 1 つしかないため、TextFX プラグインを使用できません。たとえば、BorrowerID に重複が含まれる場合があります。LoanID のみ重複を含めることはできません。

ライン1:

<ns1:Loan>ns1:Identifiers:LoanID>876298<LoanID>  <ns1:IsRegulatedLoan>ND,6</ns1:IsRegulatedLoan><ns1:Originator>TestBank</ns1:Originator><ns1:ServicerID>Testbank NV</ns1:ServicerID><ns1:BorrowerID>26547</ns1:BorrowerID><ns1:PropertyID>364239</ns1:PropertyID>

2行目:

ns1:Loan ns1:Identifiers>:LoanID>819305:LoanID>
ns1:IsRegulatedLoan>ND,6/:IsRegulatedLoanns1:Originator>TestBank/ns1:Originator>ns1:ServicerID>Testbank NV</ns1:ServicerID>ns1:BorrowerID>195797:BorrowerID>
4

1 に答える 1

1

「行」のレベルで XML を操作することはお勧めできません。行末には特別な意味がなく、簡単に変更される可能性があるからです。

この種の操作には、ほとんどの人が XSLT を使用します。XSLT には学習曲線がありますが、XML を使用する場合は、XML はツールキットの重要な部分であるため、習得する価値があります。典型的なコード (XSLT 2.0 の場合) は次のようになります。

<xsl:for-each-group select="ns1:Loan" group-by="LoanId">
  <xsl:copy-of select="current-group()[1]"/>
</xsl:for-each-group>

一連の重複が与えられた場合、最初のものを除くすべてが削除されます。

于 2013-11-01T15:16:03.593 に答える