如何使用GetElementsByTagName来获取最后一个元素的innerText,如果有'多个具有相同名称
本文关键字:如果 获取 GetElementsByTagName 何使用 最后一个 元素 innerText | 更新日期: 2023-09-27 17:49:19
我有这个XML
<WordDefinition>
<Word>analyses</Word>
<Definitions>
<Definition>
<Word>analyses</Word>
<Dictionary>
<Id>wn</Id>
<Name>WordNet (r) 2.0</Name>
</Dictionary>
<WordDefinition>analyses
See {analysis}
</WordDefinition>
</Definition>
<Definition>
<Word>analyses</Word>
<Dictionary>
<Id>wn</Id>
<Name>WordNet (r) 2.0</Name>
</Dictionary>
<WordDefinition>analysis
n 1: an investigation of the component parts of a whole and their
relations in making up the whole
</WordDefinition>
</Definition>
</Definitions>
</WordDefinition>
我编写了这个c#来获得"WordDefinition"的innerText,如果只有一个"WordDefinition",它可以正常工作。然而,如果有一个或多个我想得到最后一个的innerText。
var doc = new XmlDocument();
doc.LoadXml(responseFromServer);
var el = doc.GetElementsByTagName("WordDefinition");
有人知道我该怎么做吗?对于这个例子,我想要得到this的innerText:
<WordDefinition>analysis
n 1: an investigation of the component parts of a whole and their
relations in making up the whole
</WordDefinition>
对不起,VB…使用XElement,您可以获得最后一个WordDefinition,如下所示
Dim doc As XElement
' to load doc = XElement.Load("path/URI here")
' for testing
doc = <WordDefinition>
<Word>analyses</Word>
<Definitions>
<Definition>
<Word>analyses</Word>
<Dictionary>
<Id>wn</Id>
<Name>WordNet (r) 2.0</Name>
</Dictionary>
<WordDefinition>analyses
See {analysis}
</WordDefinition>
</Definition>
<Definition>
<Word>analyses</Word>
<Dictionary>
<Id>wn</Id>
<Name>WordNet (r) 2.0</Name>
</Dictionary>
<WordDefinition>analysis
n 1: an investigation of the component parts of a whole and their
relations in making up the whole
</WordDefinition>
</Definition>
</Definitions>
</WordDefinition>
'get the last WordDefinition
Dim lastDef As XElement = doc...<WordDefinition>.LastOrDefault
如果没有测试数据,它将只是:
Dim doc As XElement = XElement.Load("path/URI here")
'get the last WordDefinition
Dim lastDef As XElement = doc...<WordDefinition>.LastOrDefault
你可以做一些其他的事情…
所有定义 Dim allDefs As IEnumerable(Of XElement) = doc...<WordDefinition>
粗过滤
Dim whDef As String = "analys"
Dim multiDef As IEnumerable(Of XElement) = From wd In doc...<WordDefinition>
Where wd.Value.Trim.StartsWith(whDef)
Select wd