Asp classic ASP经典-解析XML InnerXML

Asp classic ASP经典-解析XML InnerXML,asp-classic,Asp Classic,我希望能够像asp.net一样解析值,不幸的是,asp classic也会像标记一样返回标记 我试图解析路径“/root/div”并返回其中的所有内容,不包括“”,结果应该是“abc other span” 试试这个: <% Option Explicit Dim xml: Set xml = Server.CreateObject("MSXML2.DOMDocument.3.0") xml.LoadXml("<root><div>Text S

我希望能够像asp.net一样解析值,不幸的是,asp classic也会像
标记一样返回标记

我试图解析路径“/root/div”并返回其中的所有内容,不包括“
”,结果应该是“
abc other span


试试这个:

<%
Option Explicit

    Dim xml: Set xml = Server.CreateObject("MSXML2.DOMDocument.3.0") 
    xml.LoadXml("<root><div>Text Start<p>abc <span>other span</span></p></div></root>")

    Dim sResult: sResult = ""

    Dim node
    For Each node in xml.selectSingleNode("/root/div").childNodes
        sResult = sResult & node.xml
    Next

    Response.Write Server.HTMLEncode(sResult) 

%>


不幸的是,MSXML DOM元素没有innerXml属性。因此,您需要执行循环,例如连接每个子节点的xml,以生成元素的内部xml。

这将为您提供所需的内容:

Response.Write("BR>"&Server.HTMLEncode(CurrentXML.SelectSingleNode("/root/div").childNodes.item(0).XML))
我不确定您的具体情况,但您可能希望在假设之前确保您有子节点,您可以使用:

CurrentXML.SelectSingleNode("/root/div").hasChildNodes ' Should be "True"

祝你好运

只有当“div”中包含的HTML片段只包含一个xml子节点时,这种方法才有效。看到我的答案,我已经注入了一个案例,其中也有一个松散的文本节点。嗨,谢谢注意。你说得对,我以给出的特定XML为例回答,这应该考虑在内。谢谢大家,Adi简单解决方案解决了我的问题。非常感谢。
CurrentXML.SelectSingleNode("/root/div").hasChildNodes ' Should be "True"