将尖括号写入文件会生成代码

时间:2018-02-13 16:42:06

标签: xml vb.net

我正在创建一个XML文件,并在具有德语操作系统的机器上编写VB.NET 2017中的元素。我正在使用xml编写器类,当我使用以下内容时,元素的开始和结束标记在我的文件中正确显示:

.WriteStartElement("conceptGrp")
.WriteString(dataLine)
.WriteEndElement()

我从现有的XML文件中提取子元素,并使用变量“dataLine”将它们插入到元素中。但是dataLine中标签周围的尖括号在我创建的文件中显示为“& lt”和“& gt”。当我将数据读入其他软件时,这会导致错误。

在“输出”窗格的“Visual Basic”中,“本地”窗口和“监视”窗口中显示变量“dataLine”的所有内容。

如何更正我写入文件的数据。

2 个答案:

答案 0 :(得分:1)

WriteString旨在将纯字符串信息写入标记(可能是内容)来自WriteString docs

  

WriteString执行以下操作:

The characters &, <, and > are replaced with &amp;, &lt;, and &gt;, respectively.

相反,您可以使用可以编写原始XML的WriteRaw方法(WriteRaw docs)。虽然,也许你应该考虑首先解析传入的对象,以正确保证你将要编写的输出格式?

答案 1 :(得分:1)

您可以使用WriteElementString,请查看以下示例:

    writer.WriteStartElement("ns", "cusotmer", "www.diranieh.com")
    writer.WriteElementString("FirstName", "A")
    writer.WriteElementString("LastName", "B")
    writer.WriteEndElement()

产生以下结果:

<?xml version="1.0" encoding="utf-16"?>
<ns:cusotmer xmlns:ns="www.diranieh.com">
  <FirstName>A</FirstName>
  <LastName>B</LastName>
</ns:cusotmer>

可在此处找到额外信息: http://diranieh.com/NETXML/XmlWriter.htm