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

标签 java xml

我有销售标签作为子节点,存在多次,但所有销售标签都不存在员工标签。需要解析此 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>

谢谢

最佳答案

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

关于java - 如何解析下面的xml代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15675623/

相关文章:

java - 将单元格数组值提取为 java 数据类型

css - XSLT 试图在本地引用默认的 Mozilla 样式

Java 在单个 JTable 单元格中显示元素

xml - 如何在shell中注释掉xml文件中的字符串

java - PHP 开发应该在 Eclipse 中使用 JRE 还是 JDK?

java - DateTimeFormatter 中的 IllegalArgumentException

java - SimpleNLG 模型中的 TextSpec 不可用

java - 使 BoxLayout 的单元格保持大小并且仅在 java 中调整粘合大小

html - Go:你会如何 "Pretty Print"/"Prettify"HTML?

c# - 使用 override void WriteEndElement() 时如何使用 XmlWriterSettings()?