2013-03-28 105 views
0

我有销售标签作为子节点存在多次,但在该员工标记不存在所有销售tag.need解析此xml.Got空指针异常,当没有员工标记。如何解析此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> 

感谢,

+0

你能告诉我们你的XML吗? – prasanth 2013-03-28 06:35:34

+1

显示发生'NullPointerException'的XML代码段和Java代码。 – asgs 2013-03-28 06:38:08

+0

告诉我们您的代码 – prasanth 2013-03-28 06:52:02

回答

2

我假设你正在使用DOM解析器。如果您使用的是getElementsByTagName()方法,如果找不到此元素,它将返回null。您最好检查员工标记为空。

+0

如何检查员工标签为空? – Simbu 2013-03-28 10:36:30

+0

NodeList n = e.getElementsByTagName(name); //这里e指销售节点if(NodeList!= null)//做任何你想做的事情 – prasanth 2013-03-28 17:05:20