我在数据库中的字符串中存储多个值。当我检索它时,我需要将字符串拆分为不同的唯一变量。我在VB中这样做,而vb对我来说还是有点新鲜。
Dim scourceString = "<Var1>Person Name</Var1><Var2>11/11/13</Var2><Var3>Somthing else</Var3>"
<var#>
。有关如何做到这一点的任何建议。
修改 的
我试过这个:
Dim sx As String = "<tag1>test</tag1> <tag2>testa2</tag2> <tag3>test3</tag3>"
Dim sb As String = sx.Split(New [String]() {"<tag2>"}, StringSplitOptions.RemoveEmptyEntries)(1).Split(New [String]() {"</tag2>"}, StringSplitOptions.RemoveEmptyEntries)(0)
我可以获得值,但它很脏。
答案 0 :(得分:2)
如果你知道数据总是要用开头和结尾的XML标签格式化,那么你需要做的就是添加一个根元素,如下所示:< / p>
Public Function ParseData(data As String) As MyData
Dim doc As XDocument = XDocument.Parse("<Root>" + data + "</Root>")
Dim values As New MyData()
values.Var1 = doc.<Root>.<Var1>.Value
values.Var2 = doc.<Root>.<Var2>.Value
values.Var3 = doc.<Root>.<Var3>.Value
Return values
End Function
Public Class MyData
Public Property Var1 As String
Public Property Var2 As String
Public Property Var3 As String
End Class
然后你可以这样调用这个方法:
Dim scourceString As String = "<Var1>Person Name</Var1><Var2>11/11/13</Var2><Var3>Somthing else</Var3>"
Dim values As MyData = ParseData(scourceString)
Console.WriteLine(values.Var1)
Console.WriteLine(values.Var2)
Console.WriteLine(values.Var3)
答案 1 :(得分:2)
试试这个
Dim s As String = "<Var1>Person Name</Var1><Var2>11/11/13</Var2><Var3>Somthing else</Var3>"
s = "<root>" & s & "</root>"
Dim doc As XDocument = XDocument.Parse(s)
Dim arr As XElement() = doc.Root.Elements().ToArray()
For Each item As XElement In arr
Response.Write(Convert.ToString(item) & "<br>")
Next
答案 2 :(得分:0)
您无法使用<Var#>
拆分字符串,因为您不能确切地知道“#”值是什么。所以你可以做的是用一个共同的unique
分隔符存储值(如使用"¥"
或你想要的那样)
Dim scourceString = "Person Name¥11/11/13¥Somthing else"
现在拆分字符串try split方法就像这样
Dim TestArray() As String = scourceString.Split("¥")
你拥有TestArray()中的所有值,你可以通过索引访问它们TestArray(0),TestArray(1)......