我有这样的xml < screen> < area id =1>< / area> < area> rajni< / area> < area> xyz< / area> 现在,我想提取只有属性id的区域节点。
Hi, I have a xml like this <screen> <area id="1"></area> <area>rajni</area> <area>xyz</area> Now,I want to extract node of area with attribute id only.
推荐答案此处 [ ^ ]是XPath的指南。 此处 [ ^ ]是一些参考卡,值得打印出来。 类似于/ area [@id =''1''],猜测。 Here[^] is a guide to XPath. Here[^] are some reference cards, worth printing out. Something like "/area[@id=''1'']", at a guess.
我本可以给你一个直接的解决方案但是更愿意你学习abo这样你就可以在将来自己解决类似的问题。阅读本文,详细介绍了所有内容以及如何使用XPATH获取所需的节点和属性:使用XPath和XmlDocument(C#)操纵XML数据 [ ^ ] I could have given you a direct solution but would prefer you to learn about it such that you can resolve similar issues by yourself in future. Go through this article that details everything and how you can use XPATH to get desired nodes and attributes: Manipulate XML data with XPath and XmlDocument (C#)[^]
//你可以使用LINQ 使用System.Xml.Linq添加以下命名空间 ; //只需在xml中添加父标记,或者如果你的xml有,则在该标记上激活linq查询 //you can use LINQ for that add below namespace using System.Xml.Linq; // just add parent tag in you xml like or if ur xml have then fire linq query over that tag <Test> <area id="1">Deverloper</area> <area>rajni</area> <area>xyz</area> </Test>
//之后创建xdocument的对象这个 XDocument xmldoc = XDocument.Load(@ur xml文件的路径/或字符串形式的xml); //然后 var result = xmldoc.Element(Test)。Elements(area)。Single(a => (int?)a。属性(id)== 1)。值; //这将带来你的结果。 谢谢
//After that create object of xdocument like this XDocument xmldoc = XDocument.Load(@"path of ur xml file/or xml in string form"); //then var result= xmldoc.Element("Test").Elements("area").Single(a => (int?)a.Attribute("id") == 1).Value; //This will bring your result. Thanks
更多推荐
通过搜索属性名称从xmlnodelist中提取xmlnode
发布评论