如何解析jsp页面中的XML

时间:2016-01-22 20:17:24

标签: javascript jquery html xml jsp

如何将XML解析为HTML?

代码

<snomed> 
<%
String selectsql = null;
DBConnection DBCon = null;
Connection Con = null;
PreparedStatement pstm = null;
ResultSet resultSet = null;
String snomedid = request.getParameter("snomedcode");

try {
    DBCon = new DBConnection();
    Con = DBCon.getConnection();
    selectsql = "select * from snomedicd10map where referencedComponentId=? ";
    pstm = Con.prepareStatement(selectsql);
    pstm.setString(1, snomedid);
    resultSet = pstm.executeQuery();
} catch (SQLException e) {
    e.printStackTrace();
}
while (resultSet.next()) {
    String maprule = null;
    maprule = (resultSet.getString("mapRule"));
    if (maprule.matches("OTHERWISE TRUE")
            || maprule.matches("TRUE")) {   
%>      
           <otherwise> 
           <snomedid><%=resultSet.getString("referencedComponentId")%></snomedid>
           <snomedname><%=resultSet.getString("sctName")%></snomedname> 
           <icdcode><%=resultSet.getString("mapTarget")%></icdcode>
           <icdname><%=resultSet.getString("icdName")%></icdname> 
           </otherwise>
<% 
    }}
%> <%
            DBCon = new DBConnection();
            Con = DBCon.getConnection();
            pstm = Con.prepareStatement(selectsql);
            pstm.setString(1, snomedid);
            resultSet = pstm.executeQuery();
            while (resultSet.next()) {
                String str = resultSet.getString("referencedComponentId");
                String[] pipe = resultSet.getString("mapRule").split("\\|");
                if (pipe.length > 1) {
        %> 
         <refinechoice> 
        <cell><%=pipe[1]%></cell> 
        </refinechoice> 
        <%
            }}
        %> <%
                String refId = request.getParameter("refId");
                String mapRule = request.getParameter("maprule");
                selectsql = "select * from snomedicd10map where referencedComponentId=? AND maprule = ? ";
                pstm = Con.prepareStatement(selectsql);
                pstm.setString(1, refId);
                pstm.setString(2, mapRule);
                resultSet = pstm.executeQuery();
                while (resultSet.next()) {
            %> 
            <refineproblem> 
            <snomedid><%=resultSet.getString("referencedComponentId")%></snomedid>
            <snomedname><%=resultSet.getString("sctName")%></snomedname> 
            <icdcode><%=resultSet.getString("mapTarget")%></icdcode>
            <icdname><%=resultSet.getString("icdName")%></icdname>
            </refineproblem> 
            <%
                }
            %>
             </snomed>
  • 我需要在另一个jsp页面中解析
  • 否则标记名需要获得第1个
  • refinechoice标签名称需要获得第二个然后在精炼选择类型是单选按钮并且在选择任何一个精炼选项并且需要获得精炼问题标签名称第3
  • 如何在HTML中获取此内容。

1 个答案:

答案 0 :(得分:0)

Internet Explorer以及(例如)基于firefox的浏览器为XML解析提供了不同的对象,因此使用jQuery之类的JavaScript框架来处理跨浏览器的差异是明智的。

一个非常基本的例子是: var xml =&#34;贝多芬&#34 ;;

var result = $(xml).find(&#34; album&#34;)。text();

有关更深入的信息,请阅读使用jQuery的Easy XML Consumption教程。

注意:jQuery实际上并没有真正进行任何XML解析,它依赖于DOM innerHTML方法,并且会解析它就像任何HTML一样,因此在XML中使用HTML元素名称时要小心。但我认为它对于简单的XML解析非常有用,但它可能不适用于密集型或动态的#39; XML解析,你不需要预先知道XML将会发生什么,并且测试是否所有内容都按预期进行解析。