读取特定的XML标记propertie/s,使用C#
问题描述:
我有我的配置文件,如下所示:读取特定的XML标记propertie/s,使用C#
<application>
<sites>
<site name="Default Web Site" id="100">
<application path="/" applicationPool="Default Web Site">
<virtualDirectory path="/" physicalPath="D:\inetpub\folder1" />
</application>
</site>
<site name="Default Web Site2" id="200">
<application path="/" applicationPool="Default Web Site">
<virtualDirectory path="/" physicalPath="D:\inetpub\folder2" />
</application>
</site>
</sites>
</application>
我需要去每个网站并获取其物理路径。我已经做了以下 -
string filepath = @"C:\Users\Host.config";
FileStream fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
XmlDocument doc = new XmlDocument();
doc.Load(fs);
if (File.Exists(filepath))
{
do
{
switch (rdrXml.NodeType)
{
//case XmlNodeType.Element:
// TextBox1.Text = rdrXml.Name;
// break;
case XmlNodeType.Element:
if (rdrXml.Name== "site")
{
string webname= rdrXml["name"].ToString();
TextBox2.Text = webname;
if (rdrXml.Name == "virtualDirectory")
{
TextBox1.Text = rdrXml["physicalPath"].ToString();
}
}
break;
}
} while (rdrXml.Read());
} // file exists check
但我无法进入默认网站的PhysicalPath。它要么 - 要么我得到的路径或网站的名称,而不是两个。有没有办法来识别两者?
答
我使用Microsoft.Web.Administration为此,并能够得到我想要的。
不要嵌套这些if语句 – rene
'需要去每个网站并得到它的物理路径首先你需要一个有效的xml –
你如何使用这种缩进代码? – Default