大 哥

导航

对ASP.NET中XML操作的一点体会

先说SiteMapPath吧,也就是网站的站点地图

首先建一个sitemap文件,

 

<?xml version="1.0" encoding="utf-8"?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">

  <siteMapNode url="sit1mp.aspx" title="首页" description="">

    <siteMapNode url="Default.aspx" title="产品信息" description="" >

      <siteMapNode url="productdetails.aspx" title="产品详细信息" description="" />

    </siteMapNode>

    <siteMapNode url="register.aspx" title="新用户注册"/>

    <siteMapNode url="Demand.aspx" title="产品信息" description="">

    </siteMapNode>

    <siteMapNode url="Projects.aspx" title="招投标信息" description="">

      <siteMapNode url="DownLoad.aspx" title="相关表格下载" description="" />

      <siteMapNode url="ProjectInfor.aspx" title="招投标详细信息" description="" />

    </siteMapNode>

    <siteMapNode url="Default2.aspx" title="新闻" description="">

      <siteMapNode url="Default3.aspx" title="行业资讯详细信息" description="" />

      <siteMapNode url="company_details.aspx" title="会员展厅详细信息" description="" />

      <siteMapNode url="ManuscriptFront.aspx" title="在线投稿" description="" />

      <siteMapNode url="subject_detail.aspx" title="专题栏目详细信息" description="" />

      <siteMapNode url="expertinterview_detail.aspx" title="人物专访详细信息" description="" />

    </siteMapNode>

    <siteMapNode url="ForeTrain.aspx" title="培训咨询" description="">

      <siteMapNode url="TrainInfor.aspx" title="培训详细信息" description="" />

      <siteMapNode url="BusiHandBook.aspx" title="商务手册" description="" />

      <siteMapNode url="Technology.aspx" title="技术咨询" description="">

        <siteMapNode url="TechInfor.aspx" title="技术信息" description=""/>

      </siteMapNode>

      <siteMapNode url="Expert.aspx" title="专家顾问团" description="" />

    </siteMapNode>

    <siteMapNode url="ExhibitFront.aspx" title="机电信息展览馆" description="">

      <siteMapNode url="exhibit_detail.aspx" title="会展详细信息" description=""/>

    </siteMapNode>

  </siteMapNode>

</siteMap>

SiteMapPath控件会自动识别这个文件,不过一定要注意Web.sitemap中的第一个URL的值,设为当前页就可以看到;

而其它的两个控件TreeView和Menu,则必须要用到SiteMapDataSource控件,然后设置DataSourceID="SiteMapDataSource1"即可,

然而有人说:

在web.config文件中的配置如下:

<system.web>

<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">

      <providers>

        <add name="XmlSiteMapProvider"

            description="SiteMap provider which reads in .sitemap XML files."

            type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

            siteMapFile="web.sitemap"/>

      </providers>

    </siteMap>

</system.web>

 

一个有效的网站地图文件仅在 siteMap 元素下包含唯一的 siteMapNode 元素定义。但是位于第一层的 siteMapNode 元素却可以包含若干个 siteMapNode 子元素。另外,有效的网站地图文件中还不允许出现重复的 URL 地址,但是 url 参数允许为空。然而除默认网站地图提供者之外的其他提供者则没有这个限制。

 

XML的使用:

可以用XmlDocument doc=new XmlDocument ();

doc.load("xml文件");

XmlNode,XmlNodeList;

XmlNode node=doc.SelectSingleNode("节点名称");

XmlNodeList nodelist=doc.SelectNodes("节点名称");

XmlNode root=doc.DocumentElement;(这样的话是默认的根元素)

XmlElement

XmlNode 可以转换为XmlElement ,但XmlElement 不一定可以转换为XmlNode

保存XML文件用:doc.save("文件");

删除某个结点用:root.RemoveChild("节点名称");全删用:RemoveAll();

节点内的内容可以用:node.innerText或innerHtml;

 

也可以用流的方式读取(XmlReader()),这个我还没弄懂,哎……

posted on 2010-03-13 22:11  VIP-爷  阅读(221)  评论(0)    收藏  举报