<?xml version="1.0" encoding="gb2312"?>
<F>
<I Step="1" Number="1" Name="第一步" ModeID="6" GoStep="2" Use="1"/>
<I Step="1" Number="2" Name="第二步" ModeID="6" GoStep="2" Use="1"/>
<I Step="1" Number="3" Name="第三步" ModeID="6" GoStep="2" Use="0"/>
<I Step="1" Number="4" Name="第一步" ModeID="6" GoStep="2" Use="1"/>
<I Step="2" Number="1" Name="第二步" ModeID="6" GoStep="2" Use="1"/>
<I Step="3" Number="1" Name="第三步" ModeID="6" GoStep="2" Use="0"/>
<M ID="9" Name="a" Type="x" Attach="1.waa" TxtFile="1.txt"/>
<M ID="9" Name="b" Type="xx" Attach="1.waa" TxtFile="1.txt"/>
<M ID="9" Name="c" Type="xxx" Attach="1.waa" TxtFile="1.txt"/>
</F>XmlNodeList stepList = xd.GetElementsByTagName("I");以上XML文件,我现在取出来的是所有的I节点的,我想把I节点里所有Step="1"的都取出来生成一个新的XmlNodeList ,请问怎么取?

解决方案 »

  1. 必须有一个根元素XmlNodeList stepList = xd.GetElementsByTagName("I"); 
    var args=new Array();
    for( var i=0;i<stepList.length;i++)
    {
     if(stepList [i].Step=="1")
        args.push(stepList [i]);
    }
      

  2. 必须有一个根元素 是什么意思呀?
    你写的怎么有Var 这不是Javascript呀。难道不能生成XmlNodeList ,非得生成数组吗?
      

  3. 哦 不是js啊
    那用.net更加简单了XmlNodeList  这个集合是可以直接修改的
    把不符合条件的Remove了
    ps:另外用c#3.0是可以用var的
      

  4. XmlNodeList  没有 Remove方法呀。
      

  5. XmlDocument里的SelectNodes方法是不是可以取出来?有会的吗?谢谢。
      

  6. .net里面用
    xmlDoc.SelectNodes("//I[@Step='1']")建议你学习一下XPath
      

aliyun

类似问题 »