在不更改编码和保留文件格式的情况下解析xml文件

在不更改编码和保留文件格式的情况下解析xml文件,xml,vb.net,encoding,Xml,Vb.net,Encoding,原始xml文件使用UTF-8编码,无BOM <?xml version="1.0" encoding="UTF-8"?> <some_text> <ada/> <file/> <title><![CDATA[]]></title> <code/> <parathrhseis/> </some_text> 文本书写正确,但编码更改为带BO

原始xml文件使用
UTF-8编码,无BOM

<?xml version="1.0" encoding="UTF-8"?>
<some_text>
    <ada/>
    <file/>
    <title><![CDATA[]]></title>
    <code/>
    <parathrhseis/>
</some_text>
文本书写正确,但编码更改为带BOM的UTF-8,并且它也更改为
添加空格:

<?xml version="1.0" encoding="UTF-8"?>
<some_text>
    <ada /> <- here
    <file /> <- here
    <title><![CDATA[text]]></title>
    <code /> <- here
    <parathrhseis /> <- here
</some_text>


这实际上不是解析文件的问题,而是保存文件的问题

有关如何在没有BOM表的情况下保存xml,请参阅本文。

有关守则如下:

Using writer = New XmlTextWriter(".\file.xml", New UTF8Encoding(False))
    doc.Save(writer)
End Using

通常,您可以通过XmlTextWriter的
.Settings
属性控制文档的格式,但我看不到控制自动关闭元素间距的属性。在保存到文件系统之前,通过将输出保存到流并手动删除“/>”之前的任何空格,您可能会更幸运地对输出进行后处理。这实际上不是解析文件的问题,而是保存文件的问题

有关如何在没有BOM表的情况下保存xml,请参阅本文。

有关守则如下:

Using writer = New XmlTextWriter(".\file.xml", New UTF8Encoding(False))
    doc.Save(writer)
End Using

通常,您可以通过XmlTextWriter的
.Settings
属性控制文档的格式,但我看不到控制自动关闭元素间距的属性。在保存到文件系统之前,通过将输出保存到流并手动删除“/>”之前的任何空格,您可能会更幸运地对输出进行后处理。这实际上不是解析文件的问题,而是保存文件的问题

有关如何在没有BOM表的情况下保存xml,请参阅本文。

有关守则如下:

Using writer = New XmlTextWriter(".\file.xml", New UTF8Encoding(False))
    doc.Save(writer)
End Using

通常,您可以通过XmlTextWriter的
.Settings
属性控制文档的格式,但我看不到控制自动关闭元素间距的属性。在保存到文件系统之前,通过将输出保存到流并手动删除“/>”之前的任何空格,您可能会更幸运地对输出进行后处理。这实际上不是解析文件的问题,而是保存文件的问题

有关如何在没有BOM表的情况下保存xml,请参阅本文。

有关守则如下:

Using writer = New XmlTextWriter(".\file.xml", New UTF8Encoding(False))
    doc.Save(writer)
End Using

通常,您可以通过XmlTextWriter的
.Settings
属性控制文档的格式,但我看不到控制自动关闭元素间距的属性。在保存到文件系统之前,通过将输出保存到流并手动删除“/>”之前的所有空格,您可能会更幸运地对输出进行后处理,这正是我现在要做的。手动删除空格。使用
XmlTextWriter
解决了编码问题,但它也将文本
UTF-8
更改为
UTF-8
!!我也必须改变这一点。只是出于好奇,为什么格式要求如此严格?这就是我现在要做的。手动删除空格。使用
XmlTextWriter
解决了编码问题,但它也将文本
UTF-8
更改为
UTF-8
!!我也必须改变这一点。只是出于好奇,为什么格式要求如此严格?这就是我现在要做的。手动删除空格。使用
XmlTextWriter
解决了编码问题,但它也将文本
UTF-8
更改为
UTF-8
!!我也必须改变这一点。只是出于好奇,为什么格式要求如此严格?这就是我现在要做的。手动删除空格。使用
XmlTextWriter
解决了编码问题,但它也将文本
UTF-8
更改为
UTF-8
!!我也必须改变这一点。只是出于好奇,为什么格式要求如此严格?