【发布时间】:2017-07-03 07:39:18
【问题描述】:
我有一个如下所示的 xml 文件。如果<PROCESSED>1</PROCESSED> 的值为1 并且<STATE>Finished</STATE> 显示为Finished.,我想解析此xml 并将结果显示为PASS
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SCAN_LIST_OUTPUT SYSTEM "https://qualysapi.qualys.com/api/2.0/fo/scan/scan_list_output.dtd">
<SCAN_LIST_OUTPUT>
<RESPONSE>
<DATETIME>2017-06-12T07:28:46Z</DATETIME>
<SCAN_LIST>
<SCAN>
<ID>3332486</ID>
<REF>compliance/1347341337.35943</REF>
<TYPE>Scheduled</TYPE>
<TITLE><![CDATA[MY PC Scan]]></TITLE>
<USER_LOGIN>USER</USER_LOGIN>
<LAUNCH_DATETIME>2017-06-13T07:30:09Z</LAUNCH_DATETIME>
<DURATION>00:06:29</DURATION>
<PROCESSED>1</PROCESSED>
<STATUS>
<STATE>Finished</STATE>
</STATUS>
<TARGET><![CDATA[10.10.25.50]]></TARGET>
</SCAN>
</SCAN_LIST>
</RESPONSE>
</SCAN_LIST_OUTPUT>
请告诉我如何使用 Java 来完成。
【问题讨论】:
-
您可以为此使用 XML 解析器。最简单的一种是 DOMParser,或者您也可以使用 SAXParser。
-
您可以使用 JAXB 之类的库来解析 xml 文件,如果所有 xml 文件都具有定义的结构,那么您可以映射适当的类来编组文件。
-
您能否建议如何使用
SAXParser来解析上述xml?
标签: java parsing xml-parsing