0

複数回存在する子ノードとして販売タグがありますが、その従業員タグはすべての販売タグに存在しません.このxmlを解析する必要があります.従業員タグがない場合にNullポインター例外が発生しました.いくつかの子タグ名が存在しませんか?

<?xml version="1.0" encoding="ISO-8859-1"?>
   <Transactions>
      <DocumentInfo TransferType="Transactions" Copyright="2010, Hectronic GmbH" CreatedBy="HecPoll">
       <CreateDate Year="2011" Month="7" Day="13"/>
       <CreateTime Hour="6" Minute="0" Second="16"/>
      </DocumentInfo>
      <DocumentData>
      <Sale RcpNum="151" Amount="228.760" Station="1" Customer="000003" Terminal="1">
        <Date Year="2011" Month="07" Day="12"/>
        <Time Hour="07" Minute="23" Second="00"/>
        <ArticleSale Quantity="6.020" SglPriceAsSold="38.000" SglPriceAsStored="38.000" SglPrice="38.000" Amount="228.760" FCCAmount="228.760" Taxrate="18" LogicalFPNumber="1" TankNumber="3" ArtNum="3" SaleNum="1"/>
        <Payment PAN="000000002117904490D" Amount="228.760" TenderCode="0" PayNum="1"/>
        <Employee Lastname="V KALYANI"/>
        <Vehicle LicensePlate="10K"/>
      </Sale>
      <Sale RcpNum="255" Amount="6650.000" Station="1" Customer="ZZZZZZ" Terminal="0">
        <Date Year="2011" Month="07" Day="12"/>
        <Time Hour="07" Minute="24" Second="00"/>
        <ArticleSale Quantity="175.000" SglPriceAsSold="38.000" SglPriceAsStored="38.000" SglPrice="38.000" Amount="6650.000" FCCAmount="6650.000" Taxrate="19" LogicalFPNumber="1" TankNumber="1" ArtNum="3" SaleNum="1"/>
        <Payment PAN="000000001885018677D" Amount="6650.000" TenderCode="0" PayNum="1"/>
      </Sale>
      <Sale RcpNum="152" Amount="3078.000" Station="1" Customer="000003" Terminal="1">
        <Date Year="2011" Month="07" Day="12"/>
        <Time Hour="07" Minute="27" Second="00"/>
        <ArticleSale Quantity="81.000" SglPriceAsSold="38.000" SglPriceAsStored="38.000" SglPrice="38.000" Amount="3078.000" FCCAmount="3078.000" Taxrate="18" LogicalFPNumber="1" TankNumber="3" ArtNum="3" SaleNum="1"/>
        <Payment PAN="000000002117928224D" Amount="3078.000" TenderCode="0" PayNum="1"/>
        <Employee Lastname="A MUNIYANDI"/>
        <Vehicle LicensePlate="10F"/>
      </Sale>
   </DocumentData>
</Transactions>

ありがとう、

4

1 に答える 1

2

domパーサーを使用していると思います。メソッドを使用しているgetElementsByTagName()場合、そのような要素が見つからない場合は null を返します。Employee タグの null を確認することをお勧めします。

于 2013-03-28T07:01:35.383 に答える