我在将 XDocument 的输出以我希望的方式转换为 .CSV 文件时遇到了一些麻烦。我想知道是否有人可以帮助我?
首先,这是 XML:
<Main>
<Node1>
<Node1a>1</Node1a>
<Node1b>2</Node1b>
</Node1>
<Node2>
<Node2a>Three</Node2a>
<Node2b>Four</Node2b>
</Node2>
</Main>
我能够将此 XML 文档转换为字符串(即:下面称为 sString)并将其传递给我的 VB.NET 函数。我目前有...
Dim doc As XDocument = XDocument.Parse(sString)
Dim myOutput As New StringBuilder(1000)
For Each node As XElement In doc.Descendants("Main")
For Each innerNode As XElement In node.Elements()
myOutput.AppendFormat("{0},", innerNode.Attribute("Node1a").Value)
myOutput.AppendFormat("{0},", "!")
myOutput.AppendFormat("{0},", innerNode.Attribute("Node1b").Value)
myOutput.AppendFormat("{0},", "!")
myOutput.AppendFormat("{0},", innerNode.Attribute("Node2a").Value)
myOutput.AppendFormat("{0},", "!")
myOutput.AppendFormat("{0},", innerNode.Attribute("Node2b").Value)
Next
myOutput.AppendLine()
Next
Dim finalCSVstring as string
finalCSVstring = myOutput.ToString()
这工作“有点”......但我认为我在节点的内部循环上搞砸了并写出这些值。
我想要的是最终输出看起来像:
1|2|Three|Four
其中一个“|” 分隔各种值。