假設我有一些XmlElement
;我們稱之爲element
。如果我想獲得該元素的所有子節點,我可以撥打element.ChildNodes
。如果我想要元素及其所有子女的文字,那麼我可以使用element.InnerText
。獲取XmlElement頂級文本的最簡單方法是什麼?
然而,假設我有一些XML,看起來像這樣:
<TopElement attr1="value1" attr2="value2">
This is the text I want.
<ChildElement1>This is text I don't want.</ChildElement1>
<ChildElement2>This is more text I don't want.</ChildElement2>
</TopElement>
如果我有element.InnerText
去,我所得到的是這樣的:
這是我的文字是want.This文字我 不想要。這是更多的文字我不 想要的。
如果我只想內TopElement該文本而沒有任何的孩子,我可以這樣做:
Dim txt As String
For Each child As Xml.XmlNode In XmlElement.ChildNodes
If TypeOf child Is Xml.XmlText Then
txt = child.InnerText
Exit For
End If
Next
但這似乎相當愚蠢的我。當然有更好的方法?
編輯:對不起,我最初沒有指定:我正在尋找一種不涉及LINQ的解決方案(我們在這裏使用.NET 2.0處於黑暗時代)。
我會以爲使用.net 1.0或1.1將是黑暗時代。 ;) – 2009-09-11 14:07:30
我會說.NET 1.0和1.1是冰河世紀,2.0是黑暗時代,3.5是文藝復興時期,4.0是某種科幻幻想世界。 – 2009-09-11 18:00:13