用户使用动态标记从XML中提取数据

时间:2013-07-31 17:13:36

标签: xml vb.net string tags

我正在编写一个简单的VB.net函数,它从XML文件中提取某个标记。功能是:

Public Function ExtractXMLValue(ByVal FilePath As String, ByVal XMLTag As String) As String        

    Dim XMLDocument = XDocument.Load(FilePath)
    Dim Output As String

    Output = XMLDocument.<XMLTag>.<ServerAddress>.Value
    Return Output
End Function

问题是输出为null,因为程序将XMLTag视为标记本身而不是要解释的动态字符串。并且XML文件中没有名为“XMLTag”的标记。

我想调用我的函数,例如:ExtractXMLValue(FileName,“ServerAddress”)

这是我的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<ConnectionSettings>
  <ServerAddress>192.0.0.1</ServerAddress>
  <ServerPort>30000</ServerPort>
</ConnectionSettings>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个。这将在XML文档中找到XMLTag的第一个实例并返回它的值。如果您有多个标记,则仅返回第一个标记。如果您没有标签,那么它将不返回任何内容。

Output = XMLDocument.GetElementsByTagName(XMLTag)(0).InnerXml