public void GetXml(string filename)
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(filename);
XmlNode root = xmldoc.DocumentElement;//顶层节点
//得到顶层节点列表
XmlNodeList topM = xmldoc.DocumentElement.ChildNodes;
foreach (XmlElement element in topM)
{
IterateXml(element, tNode);
}
}
public void IterateXml(XmlElement element, TreeNode tvNode)
{
//得到该Xml节点的子节点
XmlNodeList nodelist = element.ChildNodes;
if (nodelist.Count > 1)
{
foreach (XmlElement ele in nodelist)
{
IterateXml(ele, tempNode);//递归读取更深层次节点
}
}
else if (nodelist.Count == 1)
{
string str= element.Name;//节点名,element.InnerText ;//节点值
Console.WriteLine(element.Name);
Console.ReadKey();
}
}
追问
请问下这个xml哪个是根目录?找不到,无法使用
//获得第一个姓名匹配的节点(SelectSingleNode):此xml文件的根节点
XmlNode rootNode = myXmlDoc.SelectSingleNode("ns:SamplingData");
这个来匹配。
追答XmlNode root = xmldoc.DocumentElement;//这个语句获取的就是根节点,你这个XML的根节点是soapenv:Envelope
追问试过了,无法识别T.T
追答怎么识别不了?我给的那两个方法可以读取出所有节点的
XmlNode rootNode = myXmlDoc.SelectSingleNode("ns:SamplingData");如果你是想识别ns:SamplingData这个节点,这样是识别不了的、
本回答被提问者和网友采纳