【发布时间】:2019-11-30 00:33:15
【问题描述】:
我正在读取一个 XML 标记以尝试从中提取一个值:
<lsource xml:lang="por">
我想提取三个字母的代码por。标签中可能还有其他属性,所以我目前的做法是找到子串xml:lang=的索引,然后在上面加上11。它工作得很好,我只是想知道是否有另一个更直观或更有效的解决方案。
代码:
If initialTag.Contains("xml:lang") Then
Dim langCodePos As Integer = line.IndexOf("xml:lang=") + 11
lsource.LanguageCode = Mid(line, langCodePos, 3)
End If
【问题讨论】:
-
lsource.LanguageCode = XElement.Parse(initialTag).@xml:lang? -
完美,魅力无穷!如果您将其作为答案发布,我可以接受:)
-
其实我don't think你应该使用这个孤立的代码行。相反,首先将 XML 处理为 XML,而不是将其或其中的一部分解析为字符串。
-
我可以,但我不知道如何解析 XML,所以我已经制作了一个解析器,它可以简单地读取标签并执行很多 Select Cases。我必须学习如何解析 XML 并重做整个事情,而这个解决方案目前有效。
标签: vb.net substring console-application text-extraction