我试图根据两个搜索条件从xml文档中检索一个值,一个条件在工作,但第二个条件在不工作,
string ind =
(string)(from number in numberDoc.Root.Elements(w + "abstractNum")
where (string)number.Attribute(w + "abstractNumId") ==
((string)(
from numbering in numberDoc.Root.Elements(w + "num")
where (string)numbering.Attribute(w + "numId") == "5"
select numbering.Element(w + "abstractNumId")
).First().Attribute(w + "val"))
&& (string)number.Element(w + "lvl").Attribute(w + "ilvl") =="0"
//.Element(w + "lvl").Attribute(w + "ilvl") == "2"
select number.Element(w + "lvl").Element(w + "numFmt")
).First().Attribute(w + "val");
xml文件内容:
-<w:abstractNum w:abstractNumId="5">
<w:nsid w:val="25195CAD"/>
<w:multiLevelType w:val="multilevel"/>
<w:tmpl w:val="0BDE91FC"/>
<w:name w:val="a5703ef3-945f-4acd-beb2-2691d874a074"/>
-<w:lvl w:ilvl="0">
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlRestart w:val="0"/>
<w:lvlText w:val="·"/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="720"/>
</w:tabs>
<w:ind w:hanging="720" w:left="721"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="24"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="1">
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlRestart w:val="0"/>
<w:lvlText w:val="·"/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="1440"/>
</w:tabs>
<w:ind w:hanging="720" w:left="1441"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="24"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="2">
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlRestart w:val="0"/>
<w:lvlText w:val="·"/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="2160"/>
</w:tabs>
<w:ind w:hanging="720" w:left="2161"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="24"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="3">
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlRestart w:val="0"/>
<w:lvlText w:val="·"/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="2880"/>
</w:tabs>
<w:ind w:hanging="720" w:left="2881"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="24"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="4">
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlRestart w:val="0"/>
<w:lvlText w:val="·"/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="3600"/>
</w:tabs>
<w:ind w:hanging="720" w:left="3601"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="24"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="5">
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlRestart w:val="0"/>
<w:lvlText w:val="·"/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="4320"/>
</w:tabs>
<w:ind w:hanging="720" w:left="4321"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="24"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="6">
<w:start w:val="1"/>
<w:numFmt w:val="bullet"/>
<w:lvlRestart w:val="0"/>
<w:lvlText w:val="·"/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="5040"/>
</w:tabs>
<w:ind w:hanging="720" w:left="5041"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="24"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="7">
<w:start w:val="1"/>
<w:numFmt w:val="none"/>
<w:lvlRestart w:val="0"/>
<w:suff w:val="nothing"/>
<w:lvlText w:val=""/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="0"/>
</w:tabs>
<w:ind w:left="1" w:firstLine="0"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="22"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
-<w:lvl w:ilvl="8">
<w:start w:val="1"/>
<w:numFmt w:val="none"/>
<w:lvlRestart w:val="0"/>
<w:suff w:val="nothing"/>
<w:lvlText w:val=""/>
<w:lvlJc w:val="left"/>
-<w:pPr>
-<w:tabs>
<w:tab w:val="num" w:pos="0"/>
</w:tabs>
<w:ind w:left="1" w:firstLine="0"/>
</w:pPr>
-<w:rPr>
<w:rFonts w:hint="default" w:hAnsi="Symbol" w:ascii="Symbol"/>
<w:b w:val="0"/>
<w:i w:val="0"/>
<w:caps w:val="0"/>
<w:strike w:val="0"/>
<w:dstrike w:val="0"/>
<w:vanish w:val="0"/>
<w:color w:val="auto"/>
<w:sz w:val="22"/>
<w:u w:val="none"/>
<w:vertAlign w:val="baseline"/>
</w:rPr>
</w:lvl>
</w:abstractNum>
如果我比较&&后的where子句有效,因为我将它比较为“ 0”而不是“ 2”,因为element(w +“ lvl”)。Attribut(w +“ ilvl”)仅在第一次出现。 我如何遍历所有w:lvl元素。