请问从XML中提取相应的信息? 请问从XML中提取相应的信息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从XML中提取信息,要讲具体点,那得看用什么来实现。是用JAVASCRIPT,还是用ASP.NET中的后台实现 msxmldatasetSystem.XmlSystem.Xml.Xslxsltxpath /// <summary> /// 一行记录,获得某个结点的值 /// </summary> /// <param name="strXML"></param> /// <param name="strName"></param> /// <returns></returns> public static string GetXmlValue(string strXML,string strName) { try { XmlDocument xDoc = new XmlDocument(); xDoc.LoadXml(strXML); XmlNode xn = xDoc.SelectSingleNode("//"+strName); return xn.InnerText; } catch { return ""; } }/// <summary> /// 在xmlData中根据ByNodeName的内容ByNodeText,得到同级别节点NodeName的NodeText /// </summary> /// <param name="xmlData"></param> /// <param name="ByNodeName"></param> /// <param name="ByNodeText"></param> /// <param name="NodeName"></param> /// <returns></returns> public static string GetNodeText(string xmlData,string ByNodeName,string ByNodeText,string NodeName) { XmlDocument xmlDoc=new XmlDocument(); xmlDoc.LoadXml(xmlData); XmlNodeList xnList=xmlDoc.SelectNodes(@"//"+ByNodeName); foreach(XmlNode xn in xnList) { if(xn.InnerText.Equals(ByNodeText)) { XmlNodeList xnl=xn.ParentNode.ChildNodes; foreach(XmlNode xmlNode in xnl) { if(xmlNode.Name.Equals(NodeName)) return xmlNode.InnerText; } } } return ""; }/// <summary> /// 根据子节点ByNodeName和ByNodeText,删除整个父节点 /// </summary> /// <param name="xmlData"></param> /// <param name="ByNodeName"></param> /// <param name="ByNodeText"></param> /// <returns></returns> public static string RemoveParent(string xmlData,string ByNodeName,string ByNodeText) { XmlDocument xmlDoc=new XmlDocument(); xmlDoc.LoadXml(xmlData); XmlNodeList xnList=xmlDoc.SelectNodes(@"//"+ByNodeName); foreach(XmlNode xn in xnList) { if(xn.InnerText.Equals(ByNodeText)) { xmlDoc.DocumentElement.RemoveChild(xn.ParentNode); } } return xmlDoc.InnerXml; }/// <summary> /// 插入整个一个节点即:一行数据 /// </summary> /// <param name="xmlData"></param> /// <param name="strInsert"></param> /// <returns></returns> public static string InsertXML(string xmlStr1,string xmlStr2) { XmlDocument d1; d1=new XmlDocument(); d1.LoadXml("<?xml version='1.0' ?>"+xmlStr1); XmlDocumentFragment docfrag; XmlElement currnode ; docfrag = d1.CreateDocumentFragment(); docfrag.InnerXml = xmlStr2; currnode = d1.DocumentElement; currnode.InsertAfter(docfrag, currnode.LastChild); return d1.DocumentElement.OuterXml; } 怎样防止在客户端看到网站的路径啊。。求教各位。。 奇怪gridview显示不了数据 SQL 中把一个数据库中的表中数据 倒到 另一台机器的一个表中 dotnetCharting legendbox的使用方法 高手请进: ewebeditor如何在.net中使用 (送200分) 大家来谈谈通用网站发布系统的开发啊!对每个有网站开发方面的应该都有帮助! 中文变乱码 请教各位高手 多多指点 asp.net如何编写的快 关于file控件的小问题。 在DataGrid中用TextBox进行数据更新的问题 急切求救~!!!,谢谢 repeater控件中的CheckBox问题
dataset
System.Xml
System.Xml.Xsl
xslt
xpath
/// <summary>
/// 一行记录,获得某个结点的值
/// </summary>
/// <param name="strXML"></param>
/// <param name="strName"></param>
/// <returns></returns>
public static string GetXmlValue(string strXML,string strName)
{
try
{
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(strXML);
XmlNode xn = xDoc.SelectSingleNode("//"+strName);
return xn.InnerText; }
catch
{
return "";
}
}
/// <summary>
/// 在xmlData中根据ByNodeName的内容ByNodeText,得到同级别节点NodeName的NodeText
/// </summary>
/// <param name="xmlData"></param>
/// <param name="ByNodeName"></param>
/// <param name="ByNodeText"></param>
/// <param name="NodeName"></param>
/// <returns></returns>
public static string GetNodeText(string xmlData,string ByNodeName,string ByNodeText,string NodeName)
{
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.LoadXml(xmlData);
XmlNodeList xnList=xmlDoc.SelectNodes(@"//"+ByNodeName);
foreach(XmlNode xn in xnList)
{
if(xn.InnerText.Equals(ByNodeText))
{
XmlNodeList xnl=xn.ParentNode.ChildNodes;
foreach(XmlNode xmlNode in xnl)
{
if(xmlNode.Name.Equals(NodeName))
return xmlNode.InnerText;
}
}
}
return "";
}
/// <summary>
/// 根据子节点ByNodeName和ByNodeText,删除整个父节点
/// </summary>
/// <param name="xmlData"></param>
/// <param name="ByNodeName"></param>
/// <param name="ByNodeText"></param>
/// <returns></returns>
public static string RemoveParent(string xmlData,string ByNodeName,string ByNodeText)
{
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.LoadXml(xmlData);
XmlNodeList xnList=xmlDoc.SelectNodes(@"//"+ByNodeName);
foreach(XmlNode xn in xnList)
{
if(xn.InnerText.Equals(ByNodeText))
{
xmlDoc.DocumentElement.RemoveChild(xn.ParentNode);
}
}
return xmlDoc.InnerXml;
}
/// <summary>
/// 插入整个一个节点即:一行数据
/// </summary>
/// <param name="xmlData"></param>
/// <param name="strInsert"></param>
/// <returns></returns>
public static string InsertXML(string xmlStr1,string xmlStr2)
{
XmlDocument d1;
d1=new XmlDocument();
d1.LoadXml("<?xml version='1.0' ?>"+xmlStr1);
XmlDocumentFragment docfrag;
XmlElement currnode ;
docfrag = d1.CreateDocumentFragment();
docfrag.InnerXml = xmlStr2;
currnode = d1.DocumentElement;
currnode.InsertAfter(docfrag, currnode.LastChild);
return d1.DocumentElement.OuterXml;
}