2013-02-15 63 views
1

我正在修复的asp经典页面连接到SQL Server 2008以获取格式为XML的数据。最初是因为之前的开发人员使用IE特定的XML数据岛,我试图让浏览器处于中立状态。如何使用jQuery解析嵌入在ASP页面中的XML

这里的ASP代码:

<xml id=xml_serial><% 
if Program = "HNS" then 
    set rs = conSQL.Execute("T-SQL_stored_procedure_name" & CStr(OrderID)) 
    while not RS.Eof 
     Response.Write RS(0).Value 
     RS.MoveNext 
    wend 
    RS.Close 
end if 
%></xml> 

这里的HTML/XML看起来如何由服务器处理后:

<xml id=xml_serial> 
    <file> 
     <record> 
      <serial>5265951</serial> 
      <altserial>B10005265951AC</altserial> 
      <price>$ 120.00</price> 
      <serial1name>Serial #</serial1name> 
      <serial2name>Serial</serial2name> 
     </record> 
    </file> 
</xml> 

我用JQuery的XMLParser的面前,但是这是一个要么一外部文件,可以将XML加载到一个名为xml的变量中,该变量可以使用解析器进行分析。

我遇到或不明白的问题是如何将嵌入式XML导入到JQuery解析器的变量中以便解析某些内容?有没有办法引用解析器可以指向的id“xml_serial”,然后解析数据?

我确定有一种方法可以做到这一点,但我似乎无法找到任何不首先指向在解析之前加载到xml变量中的外部xml文件的示例。

任何帮助,将不胜感激。谢谢。

回答

0

如果您在http://api.jquery.com/jQuery.parseXML/谈论使用XML,你将取代

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>", 

var xml=<%=MyXML%>, 

,但首先你必须改变你的代码来构建XML。

<% 
MyXML="" 
if Program = "HNS" then 
    set rs = conSQL.Execute("T-SQL_stored_procedure_name" & CStr(OrderID)) 
    while not RS.Eof 
     MyXML=MyXML& RS(0).Value ' instead of response.write 
     RS.MoveNext 
    wend 
    RS.Close 
end if 
%>