这可能很简单,虽然我在寻找解决方案时遇到了一些麻烦。
当你在文件夹中查看.xml文件时,你可以双击它,这样主浏览器就会显示它的代码内容。
我有xml的完整路径,我想在aspx(使用c#或vb.net)中创建一个链接,重定向到浏览器中的XML。
response.redirect("<path>")
---更新
重定向到:
http://img37.imageshack.us/img37/7227/89684913.jpg
当我把鼠标放在“here”上时,最后是/的localhost端口(它在localhost中查找路径)
这就是我提出这个问题的原因..它必须采用不同的方法。
答案 0 :(得分:1)
正如我在问题中所说,这很容易:
Process.Start(<path>)
它完美无缺,感谢所有帮助过我的人!
答案 1 :(得分:1)
Dim xmlDoc As New XmlDocument
xmlDoc.Load(Server.MapPath("QuinnDirectRequest.xml"))
Response.Clear()
Response.AddHeader("Content-Disposition", "inline; filename=file.xml")
If Request.QueryString("type") = "s" Then
Response.ContentType = "text/xml"
Response.Write(xmlDoc.InnerXml)
Else
Response.ContentType = "application/xml"
Response.Write(xmlDoc.InnerXml)
End If
Response.Flush()
Response.End()
答案 2 :(得分:0)
您可以从根节点获取InnerXml
,并将<
替换为<
,将>
替换为您网页中的>
。
开始时很简单:
Response.Write(doc.InnerXml.Replace("<", "<").Replace(">", ">"));
答案 3 :(得分:0)
一旦你将文件的内容读成字符串,你就可以做这样的事情
<pre>
<%= myXmlString.Replace("<", "<").Replace(">", ">").Replace("\"", """) %>
</pre>
“pre”标签将使浏览器维护文件的布局。是的,你可以用正则表达式做一些更复杂的事情,但是,有时它只需要一些简单的东西; - )
答案 4 :(得分:0)
如果要维护xml文档的结构和空格,请尝试使用LINQ的XDocument输出。此示例显示如何从文件加载
public string XmlFile
{
get
{
return Server.MapPath("output.xml");
}
}
然后,在你的xml输出方法中:
string xmlFromFile = string.Empty;
XmlTextReader reader = null;
XDocument xmlDoc = null;
try
{
reader = new XmlTextReader(XmlFile);
xmlDoc = XDocument.Load(reader);
reader.Close();
}
catch
{
if(reader != null)
reader.Close();
}
lblXMLoutput.Text = String.Format("<pre>{0}</pre>",
xmlDoc.ToString().Replace("<", "<").Replace(">", ">"));
this.xmlOutput.InnerHtml = xmlDoc.ToString();
并在您的表单中有此代码:
<asp:Label ID="lblXMLoutput" runat="server" />
<div id="xmlOutput" runat="server" style="display:none;"></div>
请注意,xmlOutput div不是必需的。它只是在那里你可以检查以确保你的所有xml都正确输出。