后台管理跑马灯功能,用户添加完跑马灯图片之后,需要在后台产生一个xml文件,让前台直接读取这个xml文件即可。不必需要在前台显示时,再去循环跑马灯图片目录的所有图片。
前台读xml文件时,需要把xml文件转为字符串。xml文件是这样子的:
<?xml version="1.0" encoding="utf-8" ?>
<ul class="slideul2">
<li>
<img src="/SM/10.jpg" width="80" height="60" />
</li>
<li>
<img src="/SM/11.jpg" width="80" height="60" />
</li>
<li>
<img src="/SM/12.jpg" width="80" height="60" />
</li>
</ul>
<ul class="slideul2">
<li>
<img src="/SM/10.jpg" width="80" height="60" />
</li>
<li>
<img src="/SM/11.jpg" width="80" height="60" />
</li>
<li>
<img src="/SM/12.jpg" width="80" height="60" />
</li>
</ul>
刚开始转换时,使用下面的转换方法:
Dim objDoc As New XmlDocument()
objDoc.Load(Server.MapPath("~/ImageLibrary/SM/sm.xml"))
Me.LiteralSM.Text = objDoc.OuterXml()
objDoc.Load(Server.MapPath("~/ImageLibrary/SM/sm.xml"))
Me.LiteralSM.Text = objDoc.OuterXml()
使用XmlDocument类别的OuterXml()方法产的出来的字符串,它是原原本本的xml文档,它还带有xml文件标记<?xml version="1.0" encoding="utf-8"?>:
这个方法换转出来,并不是Insus.NET想需要的。在这情况之下,Insus.NET想起另外一个读取xml的方法,就是DataSet的GetXml()
Dim objDs As New DataSet()
objDs.ReadXml(Server.MapPath("~/ImageLibrary/SM/sm.xml"))
Me.LiteralSM.Text = objDs.GetXml()
objDs.ReadXml(Server.MapPath("~/ImageLibrary/SM/sm.xml"))
Me.LiteralSM.Text = objDs.GetXml()
首先实例化DataSet,然后用ReadXml去读取xml文档,再用GetXml()可以转换到真正需要字符串: