首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么把 字符串变成XML语句

2012-01-05 
如何把 字符串变成XML语句怎么样把字符串变成XML语句大家帮帮呀!最好能给点代码没有代码给点参考资料也可

如何把 字符串变成XML语句
怎么样把   字符串变成XML语句      
大家帮帮呀!
最好能给点代码
没有代码给点参考资料也可以~~~~

[解决办法]
Imports System.Xml

Public Class Form1

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim mystring As String = "张三 男 "
Dim str() As String = mystring.Split( " ")
Dim x As New XmlTextWriter( "D:\d.xml ", System.Text.Encoding.Unicode)
x.WriteStartElement( "item ") ' <item>
x.WriteStartElement( "name ") ' <name>
x.WriteString(str(0)) ' 张三
x.WriteEndElement() ' </name>
x.WriteStartElement( "sex ") ' <sex>
x.WriteString(str(1)) ' 男
x.WriteEndElement() ' </sex>
x.WriteEndElement() ' </item>
x.Close()
MsgBox( "DONE ")
End Sub
End Class
[解决办法]
参考一下:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim line As String = "张三 男 通大街一路58号 "
Dim itemxml As String = "name sex address "

Dim items As String() = itemxml.Split( " "c)
Dim xml As String = " "
For i As Integer = 0 To items.Length - 1
xml &= String.Format( " <{0}> {{{1}}} </{0}> ", items(i), i)
Next

xml = String.Concat( " <item> ", xml, " </item> ")

Dim values As String() = line.Split( " "c)

xml = String.Format(xml, values)

Console.WriteLine(xml)
End Sub

结果:
<item> <name> 张三 </name> <sex> 男 </sex> <address> 通大街一路58号 </address> </item>
[解决办法]
Public Class XmlStringConvert

Private gQuote As Char = " "c

Private gXmlItemName As String = "item "
Private gXmlItemsLine As String = " "

Private gXmlFormat As String = " "

Public Property Quote() As Char
Get
Return gQuote
End Get
Set(ByVal value As Char)
gQuote = value
End Set
End Property

Public Property XmlItemName() As String
Get
Return gXmlItemName
End Get
Set(ByVal value As String)
gXmlItemName = value
End Set
End Property

Public WriteOnly Property XmlItemsLine() As String
Set(ByVal value As String)
gXmlItemsLine = value
End Set
End Property

Public Sub Reset()
gXmlFormat = " "
End Sub

Private Sub GetFormat()
Dim items As String() = gXmlItemsLine.Split(Me.Quote)
Dim xml As String = " "
For i As Integer = 0 To items.Length - 1
xml &= String.Format( " <{0}> {{{1}}} </{0}> ", items(i), i)
Next

xml = String.Concat( " < ", Me.XmlItemName, "> ", xml, " </ ", Me.XmlItemName, "> ")



gXmlFormat = xml
End Sub

Public Function GetItemXml(ByVal itemLine As String) As String
If gXmlFormat = " " Then GetFormat()
Return String.Format(gXmlFormat, itemLine.Split(Me.Quote))
End Function
End Class

使用:
Public Class Form1

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim lines As String() = { "张三,男,通大街一路58号 ", "李四,女,北街两路85号 "}

Dim convert As New XmlStringConvert
With convert
.Quote = ", "c
.XmlItemsLine = "name,sex,address "
.XmlItemName = "person "
End With

For Each line As String In lines
Console.WriteLine(convert.GetItemXml(line))
Next

End Sub
End Class

结果:
<person> <name> 张三 </name> <sex> 男 </sex> <address> 通大街一路58号 </address> </person>
<person> <name> 李四 </name> <sex> 女 </sex> <address> 北街两路85号 </address> </person>

热点排行