待处理xml:
<sites>
<site>
<name>菜鸟教程</name>
<url>www.runoob.com</url>
</site>
<site>
<name>Google</name>
<url>www.google.com</url>
</site>
<site>
<name>淘宝</name>
<url>www.taobao.com</url>
</site>
</sites>
1、获取指定路径值:
private string GetXmlInnerText(string xml, string xmlUrl, string tagName)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlElement xmlElem = doc.DocumentElement;
XmlNodeList bodyNode = xmlElem.GetElementsByTagName(tagName);
if (bodyNode.Count > 0)
{
XmlNode totalXml = doc.SelectSingleNode(xmlUrl + "/" + tagName);
return totalXml.InnerText;
}
else
{
return string.Empty;
}
}
2、合并xml
private string MergeXml(string xml1, string xml2)
{
XmlDocument xmlDoc1 = new XmlDocument();
xmlDoc1.LoadXml(xml1);
XmlDocument xmlDoc2 = new XmlDocument();
xmlDoc2.LoadXml(xml2);
XmlNode root1 = xmlDoc1.DocumentElement;
XmlNodeList xmlNodeList = xmlDoc2.DocumentElement.ChildNodes;
XmlNode root2;
foreach (XmlNode item in xmlNodeList)
{
root2 = xmlDoc1.ImportNode(item, true);
root1.AppendChild(root2);
}
return xmlDoc1.InnerXml;
}
3、XMLToDataSet转换
private int ConvertXmlToDataSet(string xmlData, out DataSet xmlDs, out string errText)
{
var iRet = 1;
XmlTextReader reader = null;
errText = string.Empty;
xmlDs = new DataSet();
try
{
var stream = new StringReader(xmlData);
using (reader = new XmlTextReader(stream))
{
xmlDs.ReadXml(reader);
}
}
catch (Exception err)
{
errText = err.Message;
iRet = -1;
}
finally
{
if (reader != null)
{
reader.Close();
}
}
return iRet;
}