使用方括号在XML文档中添加一行

时间:2018-01-23 16:18:34

标签: xml vb.net

我需要为我们的MIS系统创建一个XML文件来读取和处理订单数据。 MIS公司为我提供了XML模板,但它包含一个元素(我认为)在方括号内" []"。

我正在努力找到我如何编写元素,因为他们倾向于"<>"括号中。

以下是我需要的XML示例,我正在努力编写第一行和最后一行!

  [itemLoop] <!--Repeats for multiple items per order if necessary -->
<OrderLine>
   <OptionValue>
      <Name>printFileName</Name>
      <ActualValue>[printFileName]</ActualValue>
   </OptionValue>
   <OptionValue>
      <Name>printFileFtp</Name>
      <ActualValue>[printFileFtp]</ActualValue>
   </OptionValue>
   <OptionValue>
      <Name>listingDelivery</Name>
      <ActualValue>[listingDelivery]</ActualValue>
   </OptionValue>
</OrderLine>
[/itemLoop]

我正在使用&#34; Imports system.xml&#34;创建我需要的所有其他XML位。

1 个答案:

答案 0 :(得分:1)

基本上,您可以使用StreamWriter来撰写自定义文字,然后让XMLWriter写入StreamWriter。您可以在下面找到示例代码:

    ' Initialize a basic StreamWriter to the disk
    Dim textWriter = New StreamWriter("C:\path\to\your\file.xml")

    ' Write your custom text
    textWriter.WriteLine("[itemLoop]")

    ' Do the XML Stuff
    Dim writer = New XmlTextWriter(textWriter)
    writer.Formatting  = Formatting.Indented
    writer.WriteStartElement("OrderLine")
    writer.WriteStartElement("OptionValue")
    writer.WriteElementString("Name", "printFileName")
    writer.WriteElementString("ActualValue", "[printFileName]")
    writer.WriteEndElement()
    writer.WriteEndElement()

    ' Write a newline so that your text is in it's own line
    textWriter.WriteLine()

    ' Write your custom text again
    textWriter.WriteLine("[/itemLoop]")

    ' And close & dispose the TextWriter
    textWriter.Close()
    textWriter.Dispose()

我已经在代码中添加了评论,以便您轻松了解我是如何解决问题的。

编辑:它在生成的XML文件中准确打印出您想要的输出:

[itemLoop]
<OrderLine>
  <OptionValue>
    <Name>printFileName</Name>
    <ActualValue>[printFileName]</ActualValue>
  </OptionValue>
</OrderLine>
[/itemLoop]