<URL>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2010-06-22/033539186.shtml</Linkurl>
<LinkThreshold>30</LinkThreshold>
</filehandle>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2009-06-22/033539186.shtml</Linkurl>
<LinkThreshold>15</LinkThreshold>
</filehandle>
</URL>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2010-06-22/033539186.shtml</Linkurl>
<LinkThreshold>30</LinkThreshold>
</filehandle>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2009-06-22/033539186.shtml</Linkurl>
<LinkThreshold>15</LinkThreshold>
</filehandle>
</URL>
解决方案 »
- 请教C#正则表达式!在线等!
- 关于“~”的疑问
- wince下sqlce开发
- 关于C#中的DateTime的用法. timeinstring=(hour<10)?"0"+hour.ToString():hour.ToString();中的hour.Tostring():hour.tostring是什么意思
- c#有没转义字符串特殊字符为可直接插入数据库的标准字符串的函数 ?
- 自动投票系统!
- 关于自定义类库的问题
- 已经两个点的坐标,求垂直线另外一点的坐标。哪位大哥可以帮帮忙啊??
- 视屏
- 在windows Form中怎样在两个窗口中传递参数?
- 关于监测网络流量以及网络速度的软件
- winform打包(连同数据库)
linq刚入门。如果能看到范例就好了
string xml = @"<Url>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2010-06-22/033539186.shtml</Linkurl>
<LinkThreshold>30</LinkThreshold>
</filehandle>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2009-06-22/033539186.shtml</Linkurl>
<LinkThreshold>15</LinkThreshold>
</filehandle></Url>";
XmlDocument xd = new XmlDocument();
//xd.Load(@"D:\aaa.xml");
xd.LoadXml(xml); XmlNodeList xnl = xd.GetElementsByTagName("filehandle");
for (int i = 0; i < xnl.Count; i++)
{
XmlNode xnLurl = xnl[i].SelectSingleNode("Linkurl");
if (xnLurl != null)
{
Response.Write(xnLurl.InnerText);
}
XmlNode xnLt = xnl[i].SelectSingleNode("LinkThreshold");
if (xnLt != null)
{
Response.Write(xnLt.InnerText);
}
}
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2010-06-22/033539186.shtml</Linkurl>
<LinkThreshold>30</LinkThreshold>
</filehandle>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2009-06-22/033539186.shtml</Linkurl>
<LinkThreshold>15</LinkThreshold>
</filehandle>
</URL>"; LINQ TO XML
XDocument doc = XDocument.Parse(xml);
foreach (var v in doc.Element("URL").Elements("filehandle"))
{
Console.WriteLine("Linkurl={0} LinkThreshold={1}", v.Element("Linkurl").Value, v.Element("LinkThreshold").Value);
}
string xml = @"<URL>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2010-06-22/033539186.shtml</Linkurl>
<LinkThreshold>30</LinkThreshold>
</filehandle>
<filehandle>
<Linkurl>http://2010.sina.com.cn/m/fra/2009-06-22/033539186.shtml</Linkurl>
<LinkThreshold>15</LinkThreshold>
</filehandle>
</URL>"; //LINQ TO XML
XDocument doc = XDocument.Parse(xml);
foreach (var v in doc.Element("URL").Elements("filehandle"))
{
Console.WriteLine("Linkurl={0} LinkThreshold={1}", v.Element("Linkurl").Value, v.Element("LinkThreshold").Value);
} System.Xml.XmlDocument xdoc = new System.Xml.XmlDocument();
xdoc.LoadXml(xml);
foreach (System.Xml.XmlNode n in xdoc.SelectSingleNode("URL").SelectNodes("filehandle"))
{
Console.WriteLine("Linkurl={0} LinkThreshold={1}", n.SelectSingleNode("Linkurl").InnerText, n.SelectSingleNode("LinkThreshold").InnerText);
}
XDocument doc = XDocument.Parse(xml); //var Query = from D in doc.Element("URL").Elements("filehandle")
// select new { Linkurl = D.Element("Linkurl").Value, LinkThreshold = D.Element("LinkThreshold").Value }; //或者
var Query = doc.Element("URL").Elements("filehandle").Select(x => new { Linkurl = x.Element("Linkurl").Value, LinkThreshold = x.Element("LinkThreshold").Value }); foreach (var v in Query)
{
Console.WriteLine("Linkurl={0} LinkThreshold={1}",v.Linkurl,v.LinkThreshold);
}
//遍历节点,获取你想要获取节点的值,尽量学会自己思考问题。。参考:
/// <summary>
/// 生产一个XML文件
/// </summary>
/// <param name="xmlFilePath">XML文件名</param>
/// <param name="StartElement">根元素名</param>
private void CreateXMLFile(string xmlFilePath, string StartElement)
{
XmlTextWriter writer = new XmlTextWriter(xmlFilePath, Encoding.UTF8);
writer.WriteStartDocument();
writer.WriteStartElement(StartElement);
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
} /// <summary>
/// 向XML文件中增加一个新的元素,属性,值
/// </summary>
/// <param name="xmlpath">XML文件名</param>
/// <param name="element">元素名</param>
/// <param name="attribut">属性名</param>
/// <param name="value">值</param>
/// <returns></returns>
public bool addXmlElement(string xmlpath, string element, string attribute, string value)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(xmlpath);
XmlNode node = doc.SelectSingleNode("//" + element);
if (node == null)
{
XmlElement xElement = doc.CreateElement(element);
xElement.SetAttribute(attribute, value);
doc.DocumentElement.AppendChild(xElement);
}
else
{
try
{
if (node.Attributes[attribute] == null)
{
XmlAttribute newAttr = doc.CreateAttribute(attribute);
newAttr.Value = value;
node.Attributes.Append(newAttr);
}
else
{
string attributesvalue = node.Attributes[attribute].Value;
if (attributesvalue != null || attributesvalue != "")
{
node.Attributes[attribute].Value = value;
}
}
}
catch (Exception ex)
{
XmlAttribute newAttr = doc.CreateAttribute(attribute);
newAttr.Value = value;
node.Attributes.Append(newAttr);
}
}
doc.Save(xmlpath);
return true;
}
catch (Exception e)
{
return false;
}
} /// <summary>
/// 更新XML文件中某个元素的属性值
/// </summary>
/// <param name="xmlpath">XML文件名</param>
/// <param name="element">元素名</param>
/// <param name="attribut">属性名</param>
/// <param name="value">值</param>
/// <returns></returns>
public bool updateValue(string xmlpath, string element, string attribute, string value)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(xmlpath);
XmlNode node = doc.SelectSingleNode("//" + element);
node.Attributes[attribute].Value = value;
doc.Save(xmlpath);
return true;
}
catch (Exception ex)
{
if (addXmlElement(xmlpath, element, attribute, value))
return true;
else
return false;
}
} /// <summary>
/// 从XML文件中读取某个元素的属性值
/// </summary>
/// <param name="xmlpath">XML文件名</param>
/// <param name="element">元素名</param>
/// <param name="attribut">属性名</param>
/// <param name="value">值</param>
/// <returns></returns>
public string readValue(string xmlpath, string element, string attribute, string value)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(xmlpath);
XmlNode node = doc.SelectSingleNode("//" + element);
if (node.Attributes[attribute].Value.ToString() != "")
{
value = node.Attributes[attribute].Value;
}
else
{
addXmlElement(xmlpath, element, attribute, value);
}
return value;
}
catch (Exception ex)
{
if (addXmlElement(xmlpath, element, attribute, value))
return value;
else
return "";
}
}