以下我们用一个例子来申明:testResult.xml文件
<?xml version="1.0" encoding="utf-8" ?> <Columns> <column id="序号"> <name>序号</name> </column> <column id="磨练项目"> <name>磨练项目</name> </column> <column id="单元"> <name>单元</name> </column> <column id="规范请求"> <name>规范请求</name> </column> <column id="磨练效果"> <name>磨练效果</name> </column> <column id="结论"> <name>结论</name> </column> </Columns>
以上就是一个Xml文件,我们晓得,Xml文件是用来存储数据的,那末我们怎样遍历这些数据呢?
实在最简朴的要领,就是运用Linq:
private void GetTestResultXml() { List<string> iTestResultXml=new List<string>(); //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml"); //查询语句: 取得根节点下name子节点(此时的子节点能够跨条理:孙节点、重孙节点......) IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column") select target; foreach (XElement node in targetNodes) { iTestResultXml.Add(node.Value); } }
如许我们就能够取得 <column/> 标签里一切的数据了,并把他们存储到列表iTestResultXml中。
在testResult.xml文件中,我们看到, <column/> 标签设置了自身的id,而此id并非他的数据,而是他的一个属性,
那末假如我们想取得他的属性而不是他标签里的内容该怎样取得呢?
private void GetTestResultXml() { List<string> iXmlID = new List<string>(); //定义并从xml文件中加载节点(根节点) XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml"); //查询语句: 取得根节点下name子节点(此时的子节点能够跨条理:孙节点、重孙节点......) IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column") select target; foreach (XElement node in targetNodes) { iXmlID.Add(node.Attribute("id").Value); //猎取指定属性的要领 } }
如许我们就猎取了 <column/> 标签里id属性的列表iXmlID。
以上就是Xml之Linq怎样遍历存储的数据的细致内容,更多请关注ki4网别的相干文章!