【问题标题】:Search query in XML file from java从 Java 在 XML 文件中搜索查询
【发布时间】:2023-01-12 05:51:10
【问题描述】:

我的项目经理告诉我将所有查询移动到一个 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 并根据 &lt;description value=&gt; 我应该在其中执行查询,任何方式都可以轻松读取里面的值而不用做很多 if 语句

有人知道实现这一切的好方法吗?

谢谢

【问题讨论】:

标签: java xml eclipse jaxb


【解决方案1】:

有几种方法可以读取 XML 文件并提取您需要的信息,而无需使用大量 if 语句。一种方法是使用 XML 解析库(如 JAXB 或 SAX),并创建 Java 类来表示 XML 元素。

在 JAXB 中,您可以使用 javax.xml.bind.Unmarshaller 类将 XML 文件解组为 Java 对象,然后您可以遍历该对象以提取所需的信息。 您应该开始创建基于 XML 结构的 Java 类,如 FlowMonitor、Menu1、Item、Connection 等,并使用注释将 xml 元素映射到字段。 然后,您可以使用 unmarshaller.unmarshal() 方法解析 XML 文件并创建 FlowMonitor 类的实例,该实例将包含 XML 文件中的所有信息。 一旦你有了 FlowMonitor 对象,你就可以遍历项目,并通过调用项目对象的 getDescriptionValue() 和 getFilenameValue() 来获取描述和文件名....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 1970-01-01
    • 2011-01-20
    相关资源
    最近更新 更多