eclipse 从Java实现XML文件中的搜索查询

hgqdbh6s  于 2023-01-13  发布在  Eclipse
关注(0)|答案(1)|浏览(337)

我的项目经理告诉我将所有查询移动到一个xml文件中(他甚至为我做了),所以当用户(通过jsp)选择描述时:“Flusso VLT mensile”他有2个选项,单击搜索、更新或下载,(下载现在可以,但我需要获得文件名),他告诉我使用jaxb,但我认为没有必要

<flow-monitor>
   <menu1>
       <item id="7" type="simple">
        <connection name="VALSAP" />
        <description value="Flusso VLT mensile" />
        <filename value="flussoVltmensile" />
        <select><![CDATA[
                SELECT * FROM vlt_sap WHERE stato=7
            ]]>
        </select>
        <update>
            <![CDATA[update vlt_sap set stato = 0 where stato =7]]>
        </update>
    </item> 
    <item id="11" type="simple">
        <connection name="VALSAP" />
        <description value="Flusso REPNORM BERSANI" />
        <filename value="flussoRepnormBersani" />
        <select><![CDATA[
                select * from repnorm_bersani_sap where stato = 99
            ]]>
        </select>
        <update>
            <![CDATA[update repnorm_bersani_sap set stato=0 where stato = 99]]>
        </update>
    </item> 
 </menu1>
    </flow-monitor>

在java上,我应该读取这个xml,并且根据<description value=>,我应该在其中执行查询,任何方法都可以轻松地读取其中的值,而无需使用大量if语句
有人知道一个好的和简单的方法来实现这一切吗?
谢谢

tsm1rwdh

tsm1rwdh1#

有几种方法可以在不使用大量if语句的情况下读取XML文件并提取所需信息。一种方法是使用XML解析库(如JAXB或SAX),并创建Java类来表示XML元素。
在JAXB中,您可以使用javax.xml.bind.Unmarshaller类将XML文件解组为Java对象,然后可以遍历该对象以提取所需的信息。您应该开始创建基于XML结构的Java类,如FlowMonitor、Menu1、Item、Connection等,并使用注解将XML元素Map到字段。然后,你可以使用unmarshaller.unmarshal()方法来解析XML文件并创建FlowMonitor类的示例,该示例将包含XML文件中的所有信息。获得FlowMonitor对象后,可以循环遍历这些项,通过调用项目对象的getDescriptionValue()和getFilenameValue()获取描述和文件名....

相关问题