读书人

高手帮忙解决一下C#读xml内容的有关问

发布时间: 2012-01-13 22:43:29 作者: rapoo

高手帮忙解决一下C#读xml内容的问题?多谢
<?xml version= "1.0 " encoding= "GB2312 " ?>
- <resultList xmlns= "http://www.streaming21.com/4.5/server " xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation= "http://www.streaming21.com/4.5/server ../schema/S21XmlResult.xsd ">
- <getDiskInfo_Result>
- <diskInfo>
<fileSystem> WFS </fileSystem>
<physicalName> D: </physicalName>
<volumeLabel />
<description />
<performanceNote />
<systemNote> WinFS Version 5.0 </systemNote>
<diskSizeInBytes> 63046737920 </diskSizeInBytes>
<usedSizeInBytes> 44039372800 </usedSizeInBytes>
</diskInfo>
</getDiskInfo_Result>
</resultList>

这是XML内容,我把这些信息读出来后如何才能获取physicalName的值.
以下是我操作的方式:

strResponse为一字符串,存上面的XML内容.

XmlDocument xd = new XmlDocument();
xd.LoadXml(strResponse);
XmlNodeList ServerNodeList = xd.SelectNodes( "/resultList/getDiskInfoList_Result/diskInfoList/diskInfo ");
//XmlNodeList ServerNodeList = xd.SelectNodes( "resultList/getDiskInfoList_Result/diskInfoList/diskInfo ");
int i = ServerNodeList.Count;
if (ServerNodeList.Count.Equals(0))
{
MessageBox.Show( "ServerConfig File is error , please reset it ");
return;
}
int serverInfoNum = 1;
foreach (XmlNode ServerNode in ServerNodeList)
{
textBox1.Text = ServerNode.Attributes[0].InnerText;
//textBox2.Text = ServerNode.ChildNodes[0].InnerText;
//textBox3.text = ServerNode.ChildNodes[1].InnerText;
}


老是出错,请高手帮忙解决一下,哥们在此多谢!!!

[解决办法]
DataSet ds = new DataSet();
ds.ReadXml( "name.xml ");
string physicalName = ds.Tables[ "diskInfo "].Rows[0][ "physicalName "];
[解决办法]
// 创建XmlDocument类的实例
XmlDocument doc = new XmlDocument();
ArrayList NodeValues = new ArrayList();
// 把people.xml文件读入内存,形成一个DOM结构
doc.Load( Server.MapPath( "people.xml ") );
XmlNode root = doc.DocumentElement;
foreach( XmlNode personElement in root.ChildNodes )
NodeValues.Add(personElement.FirstChild.Value);
XMLNodeListBox.DataSource = NodeValues;
XMLNodeListBox.DataBind();
这是一个将XML文件绑到控件上的例子!看一下吧
[解决办法]
XmlTextReader xd = new XmlTextReader(Path);

while (xd.Read())
{
if ((_xtr.NodeType == XmlNodeType.Element) && (_xtr.Name == "diskInfo "))
{
你的变量 = xd.GetAttribute(1).Trim();
break;
}
}
_xtr.Close();

读书人网 >C#

热点推荐