c#中如何导入xml文件并且识别其中的节点信息

 我来答
Huaxingfree
推荐于2016-09-18 · TA获得超过182个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:83.3万
展开全部
 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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
实菱亓官农
2020-01-08 · TA获得超过3669个赞
知道大有可为答主
回答量:3103
采纳率:24%
帮助的人:172万
展开全部
12345678910111213141516171819202122232425262728293031323334353637 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(); } }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式