我是新來的linq到xml(linq任何東西,對於這個問題),我試圖計算XML文件中的元素數量,但排除一些。這裏有一個例子:返回除了沒有值的特定元素之外的所有元素
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
<binding>paperback</binding>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
<binding></binding>
</book>
</catalog>
鑑於上述xml,我想返回所有元素,除了沒有值的元素。所以在這種情況下的最終數量是16,因爲我不想計算空的元素。
當你說元素沒有價值。你什麼意思?綁定是一個元素,並沒有一個值。你的意思是一本書的元素? – 2014-02-24 23:27:06
我的意思是一個特定的元素,在這種情況下,。正如你可以看到我的XML,第二本書有一個元素沒有價值。我想要返回一切,但那一個。假設xml數量更多,有數千本書,我想返回所有元素,除了所有沒有價值的元素。所以僞代碼可能是「讀取xml文件減去元素名稱」綁定「值爲空」。 –
u84six
我明白了。下面的任何解決方案都可以工作。然而,如果你認爲一個元素可能包含空格,那麼你需要使用下面的我的版本(string.IsNullOrWhiteSpace)。如果你需要這兩個元素和他們的計數,那麼你應該使用.ToList()然後訪問.Count屬性。 – 2014-02-25 03:02:23