如何在asp classic中使用XML/XPath并将字符串解析为XML文档
使用asp classic从字符串请求参数读取XML Xpath的最佳方法是什么如何在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
<% 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);
}