如何解析下面的xml代码?

时间:2013-03-28 06:33:29

标签: java xml

我将销售代码作为子节点存在多次,但是所有销售代码都不存在Employee代码。需要在没有雇员代码时解析此xml.Got Null指针异常。如何解析这个xml,即使某些子标记名称不存在?

<?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>

谢谢,

1 个答案:

答案 0 :(得分:2)

我假设你正在使用dom解析器。如果您使用getElementsByTagName()方法,如果找不到这样的元素,它将返回null。最好为Employee标签检查null。