[英]Append list of strings to XML file in VB.NET
我需要一些帮助来简化工作,如果可能的话,不要手动完成。
我有一个字符串列表:
<title>TITLE 1</title>
<title>TITLE 2</title>
<title>TITLE 3</title>
<title>TITLE 4</title>
<title>TITLE 5</title>
ETC...
有超过 1200 个字符串,只是为了让你知道。 我还有一个 XML 文件,其中包含相同数量的元素,每个元素都采用这种格式:
<game id="N">
<url>URL</url>
<img>IMG_URL</img>
<date>DATE</date>
<genre>GENRE</genre>
<publisher>PUBLISHER</publisher>
<developer>DEVELOPER</developer>
<platforms>PLATFORMS</platforms>
<vote>VOTE</vote>
<review>REVIEW_URL</review>
<info><![CDATA[INFORMATIONS]]></info>
</game>
我需要做的是在每个</img>
之间和<date>
之前追加每个<title>
字符串。 可以使用 VB.NET 来完成(我不会用 C#/C++ 编写代码),如果可以,有人可以帮我编写代码吗? 或者也许有更简单的正则表达式等方法......谢谢!
使用 XElement 和 LINQ。
Dim URI As String = "your path here"
Dim fileXE As XElement
'fileXE = XElement.Load(URI) ' - load XML, uncomment in production
'for testing = remove in production
Dim titls As New List(Of String)
titls.AddRange({"<title>TITLE 1</title>",
"<title>TITLE 2</title>",
"<title>TITLE 3</title>",
"<title>TITLE 4</title>",
"<title>TITLE 5</title>"})
'for testing = remove in production
fileXE = <games>
<game id="A">
<url>URL</url>
<img>IMG_URL</img>
<date>DATE</date>
<genre>GENRE</genre>
<publisher>PUBLISHER</publisher>
<developer>DEVELOPER</developer>
<platforms>PLATFORMS</platforms>
<vote>VOTE</vote>
<review>REVIEW_URL</review>
<info><![CDATA[INFORMATIONS]]></info>
</game>
<game id="B">
<url>URL</url>
<img>IMG_URL</img>
<date>DATE</date>
<genre>GENRE</genre>
<publisher>PUBLISHER</publisher>
<developer>DEVELOPER</developer>
<platforms>PLATFORMS</platforms>
<vote>VOTE</vote>
<review>REVIEW_URL</review>
<info><![CDATA[INFORMATIONS]]></info>
</game>
<game id="C">
<url>URL</url>
<img>IMG_URL</img>
<date>DATE</date>
<genre>GENRE</genre>
<publisher>PUBLISHER</publisher>
<developer>DEVELOPER</developer>
<platforms>PLATFORMS</platforms>
<vote>VOTE</vote>
<review>REVIEW_URL</review>
<info><![CDATA[INFORMATIONS]]></info>
</game>
</games>
'end for testing
'get all img nodes
Dim imgs As IEnumerable(Of XElement) = fileXE...<img>
For Each el As XElement In imgs 'add one string per img
Dim xe As XElement
Try
xe = XElement.Parse(titls(0)) 'get a title
titls.RemoveAt(0) 'remove it
el.AddAfterSelf(xe) 'add it
Catch ex As Exception
Stop
End Try
Next
fileXE.Save(URI) 'save file
Stop
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.