有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何解析下面的xml代码?

我将sale tag作为子节点存在多次,但在该节点中,员工标记并不适用于所有sale tag。需要解析这个xml。没有员工标记时出现空指针异常。即使某个子标记名不存在,如何解析该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) 个答案

  1. # 1 楼答案

    我假设您使用的是dom解析器。如果您使用的是getElementsByTagName()方法,如果没有找到这样的元素,它将返回null。你最好检查一下雇员标签是否为空