<?xml version="1.0" encoding="utf-8" ?>
- <response>
- <TAG>
<tagid>105463687068</tagid>
<mac>00:18:8E:20:27:9C</mac>
<type>t301b</type>
<createdon>2009-05-19 17:27:16+0800</createdon>
<serialnumber>301B-0850-10141</serialnumber>
<swversion>1.1.0.50</swversion>
<name />
<profile>slow</profile>
<custom>279c</custom>
<taggroupid>196</taggroupid>
<taggroupid>325</taggroupid>
<taggroupid>123</taggroupid>
<taggroupid>132</taggroupid>
<taggroupid>321</taggroupid> <attributekey>defaultGroup</attributekey>
<attributevalue>325</attributevalue>
<pending>false</pending>
</TAG>
</response>
怎么样得到这里面所有的taggroupid的值?
- <response>
- <TAG>
<tagid>105463687068</tagid>
<mac>00:18:8E:20:27:9C</mac>
<type>t301b</type>
<createdon>2009-05-19 17:27:16+0800</createdon>
<serialnumber>301B-0850-10141</serialnumber>
<swversion>1.1.0.50</swversion>
<name />
<profile>slow</profile>
<custom>279c</custom>
<taggroupid>196</taggroupid>
<taggroupid>325</taggroupid>
<taggroupid>123</taggroupid>
<taggroupid>132</taggroupid>
<taggroupid>321</taggroupid> <attributekey>defaultGroup</attributekey>
<attributevalue>325</attributevalue>
<pending>false</pending>
</TAG>
</response>
怎么样得到这里面所有的taggroupid的值?
using System.Xml;private List<string> GetTagGroupIdList(string xmlfilePath)
{
XmlTextReader textReader = null;
List<string> listStr = new List<string>(); try
{
textReader = new XmlTextReader(xmlfilePath); while (textReader.Read())
{
if (textReader.NodeType == XmlNodeType.Element && textReader.IsStartElement())
{
if (textReader.Name == "taggroupid")
{
listStr.Add(textReader.ReadInnerXml());
}
}
} return listStr;
}
catch
{
textReader.Close();
return null;
}
}
// XmlTextReader tr=new XmlTextReader("books.xml");
// while(tr.Read())
// {
// if(tr.NodeType==XmlNodeType.Text)
// listBox1.Items.Add(tr.Value);
// }
//----------------------------------------------------------------------
//读属性
FileStream fs=new FileStream("books.xml",FileMode.Open);
XmlTextReader tr=new XmlTextReader(fs);
while(tr.Read())
{
if(tr.MoveToContent()==XmlNodeType.Element)
{
for(int i=0;i<tr.AttributeCount;i++)
{
listBox1.Items.Add(tr.GetAttribute(i));
}
}
}
//读节点2----------------------------------------------------------------
private void button1_Click(object sender, System.EventArgs e)
{
FileStream fs=new FileStream("books.xml",FileMode.Open);
XmlTextReader tr=new XmlTextReader(fs);
while(!tr.EOF)
{
if(tr.MoveToContent()==XmlNodeType.Element&&tr.Name=="title")
{
//从元素中读取文本数据
//listBox1.Items.Add(tr.ReadElementString());//自动定位到下一个节点
LoadList(tr);//忽略异常
}
else
{
tr.Read();
}
}
}
private void LoadList(XmlReader reader)
{
try
{
listBox1.Items.Add(reader.ReadElementString());//自动定位到下一个节点
}
catch(XmlException er){}//ignore }
//----------------------------------------------------------------------
不过一般用dom读的比较好。
xml.LoadX("文件");
XmlNodeList nodeList=xml.SelectNodeList("response/tag/taggroupid");
foreach(Node n in nodeList){
String t=node.FirstChild.Value;
}
string ss="";
foreach (DataTable d in ds_xml.Tables)
{
if (d.TableName == "taggroupid" && d.Rows.Count > 0)
{
foreach (DataRows row in d.Rows)
{
ss+=row["taggroupid_Text"].ToString()
}
}
}messgebox.show(ss);
xmlDocument.Load(@"F:\SDK\XML\XML\XMLFile2.xml");//改成你文件的路径 XmlNodeList xmlNodeList=xmlDocument.SelectNodes("response/TAG/taggroupid[text()]"); for (int i = 0; i < xmlNodeList.Count; i++)
{
string str= xmlNodeList.Item(i).InnerText;
}
{
List<string> strList = new List<string>();
XmlDocument doc = new XmlDocument();
try
{
doc.Load(fileName);
XmlNodeList TAGNode = doc.SelectNodes("response/TAG/taggroupid");
foreach (XmlNode node in TAGNode)
{
strList.Add(node.InnerText);
}
}
catch (Exception ex)
{
}
return strList;
}