Как получить длину значения тега xml в файле и затем удалить символы на основе длины из этого тега xml? - PullRequest
0 голосов
/ 12 ноября 2018
<LoanAddressDetails>
    <LoanAddressDetail>
        <LOAN_ADDRESS_TYPE>Mailing</LOAN_ADDRESS_TYPE>     
        <LOAN_ADDRESS_LINE_1>2197 RIDGEMONT RD</LOAN_ADDRESS_LINE_1>
        <LOAN_ADDRESS_LINE_2/>
        <LOAN_CITY>GROSSE POINTE WOO</LOAN_CITY>
        <LOAN_STATE>MI</LOAN_STATE>
        <LOAN_ZIP_CODE>48231337</LOAN_ZIP_CODE>
    </LoanAddressDetail>
</LoanAddressDetails>

1 Ответ

0 голосов
/ 12 ноября 2018

Чтобы ограничить длину элемента LOAN_ZIP_CODE до 5 символов, вы можете использовать для этого xsltproc, крошечный процессор XSLT-1.0 командной строки Linux.Поэтому используйте следующую таблицу стилей test.xslt

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>

  <!-- identity template -->
  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*" />
    </xsl:copy>
  </xsl:template>  

  <!-- Shorten one specific text node to a maximum length of 5 -->
  <xsl:template match="LOAN_ZIP_CODE/text()">
      <xsl:value-of select="substring(.,1,5)" />
  </xsl:template>  

</xsl:stylesheet>

и передайте входной XML-файл (здесь с именем file.xml) в выходной XML-файл (здесь с именем target.xml), используя xsltproc с

xsltproc -o target.xml test.xslt file.xml

Вывод:

<LoanAddressDetails>
    <LoanAddressDetail>
        <LOAN_ADDRESS_TYPE>Mailing</LOAN_ADDRESS_TYPE>     
        <LOAN_ADDRESS_LINE_1>2197 RIDGEMONT RD</LOAN_ADDRESS_LINE_1>
        <LOAN_ADDRESS_LINE_2/>
        <LOAN_CITY>GROSSE POINTE WOO</LOAN_CITY>
        <LOAN_STATE>MI</LOAN_STATE>
        <LOAN_ZIP_CODE>48231</LOAN_ZIP_CODE>
    </LoanAddressDetail>
</LoanAddressDetails>

Конечно, вы можете использовать эту команду в скрипте bash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...