如何在asp classic中使用XML/XPath并将字符串解析为XML文档

如何在asp classic中使用XML/XPath并将字符串解析为XML文档,xpath,asp-classic,xml-parsing,Xpath,Asp Classic,Xml Parsing,使用asp classic从字符串请求参数读取XML Xpath的最佳方法是什么 <% function FReadXml(pStringXml) { var xDom = new ActiveXObject("MSXML2.DOMDocument"); var a = xDom.LoadXML(pStringXml) return a; } var xml = Request.QueryString("xml").item; tr

使用asp classic从字符串请求参数读取XML Xpath的最佳方法是什么

  <%    function FReadXml(pStringXml) 
  {
      var xDom = new ActiveXObject("MSXML2.DOMDocument");
      var a = xDom.LoadXML(pStringXml)
      return a;
   }
var xml = Request.QueryString("xml").item;
try{
  var dom = FReadXml(xml);
  //work with xpath
 }catch(ex0){
  Response.Write("problems when read a xml: " + ex0.message);
 }


非常感谢。

我不知道您想对xml文档解析字符串说些什么,但我可以帮助您使用Xpath

可以使用XPath和

或使用

您也可以看到此线程:

编辑:关于如何将xml字符串解析为MSXML dom文档,有一种方法与您在注释中指出的方法类似,这是一种创建自己的xml字符串并进行操作的简单方法

例如:

var xmlDoc = Server.CreateObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.loadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>");
if (xmlDoc.parseError.errorCode != 0) {
   var myErr = xmlDoc.parseError;
   Response.Write("You have error " + myErr.reason);
} else {
   Response.Write(xmlDoc.xml);
}
var xmlDoc=Server.CreateObject(“Msxml2.DOMDocument.3.0”);
xmlDoc.async=false;
loadXML(“JoeSmith”);
如果(xmlDoc.parseError.errorCode!=0){
var myErr=xmlDoc.parseError;
写下(“您有错误”+myErr.reason);
}否则{
Write(xmlDoc.xml);
}

这个问题有点太笼统了。提供一个需要“解析”的XML的简短示例,并指出要从中提取哪些数据。我的问题是,如何从字符串参数而不是文件名参数加载文档!谢谢。你似乎已经这样做了,
LoadXML
是将包含XML的字符串加载到dom中的方法。是的,LoadXML是从字符串加载的方法,没有“加载”谢谢我的问题是如何从字符串而不是从文件加载,我可以运行并发送给我。。和pStringXML=“…”var a=xmlDoc.loadXML(pStringXML)我指的是字符串到文档,我不想从文件名从字符串加载,但在我的情况下可能是请求参数。
var xmlDoc = Server.CreateObject("Msxml2.DOMDocument.3.0");
var objNodeList;
xmlDoc.async = false;
xmlDoc.load("hello.xsl");
if (xmlDoc.parseError.errorCode != 0) {
   var myErr = xmlDoc.parseError;
   Response.write("You have error " + myErr.reason);
} else {
   xmlDoc.setProperty("SelectionNamespaces",    "xmlns:xsl='http://www.w3.org/1999/XSL/Transform'");
   xmlDoc.setProperty("SelectionLanguage", "XPath");
   objNodeList = xmlDoc.documentElement.selectNodes("//xsl:template");
   Response.write(objNodeList.length);
}
var xmlDoc = Server.CreateObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.loadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>");
if (xmlDoc.parseError.errorCode != 0) {
   var myErr = xmlDoc.parseError;
   Response.Write("You have error " + myErr.reason);
} else {
   Response.Write(xmlDoc.xml);
}