XmlTextWriter:空白问题
XmlTextWriter: Problems with WhiteSpace
实际上我正在尝试使用 xmltextwriter 创建 xml,但我遇到了一些问题。
这就是我所做的
Dim writer As New XmlTextWriter("FactElec.xml", System.Text.Encoding.UTF8)
writer.WriteStartDocument(False)
writer.Formatting = Formatting.Indented
writer.Indentation = 2
writer.WriteStartElement("Invoice")
writer.WriteStartElement("sac:AdditionalMonetaryTotal")
writer.WriteElementString("cbc:id", "1001")
writer.WriteWhitespace("/n")
writer.WriteRaw("<cbc:PayableAmount currencyID=""PEN"">" + TotGrav +
"</cbc:PayableAmount>/n")
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Flush()
writer.Close()
问题是我在 writer.WriteWhitespace 中遇到错误,说它需要为空白,但我需要下一行出现下一个 WriteRaw。刚才它出现在 cbc:id
旁边
谢谢,对不起,如果我不能解释得更好。
更新:或者,以防万一,如果您知道如何在不使用 WriteRaw 的情况下在 cbc:PayableAmount 中添加 currencyID=""PEN"",可能会更好,因为这就是让我遇到所有这些问题
您可以使用 XML Literals 以更简洁的方式创建 xml 文件。
Imports <xmlns:sac="http://yoursacnamespace">
Imports <xmlns:cbc="http://yourcbcnamespace">
Public Module XmlInvoiceHelper
Public Sub SaveWithValue(totGrav As Integer)
Dim xml As XElement =
<Invoice>
<sac:AdditionalMonetaryTotal>
<cbc:id>1001</cbc:id>
<cbc:PayableAmount currencyID="PEN"><%= totGrav %></cbc:PayableAmount>
</sac:AdditionalMonetaryTotal>
</Invoice>
Using writer As New XmlTextWriter("YourFile.xml", Encoding.UTF8)
xml.Save(writer);
End Using
End Function
End Module
对于命名空间 sac
和 cbc
,您需要在代码文件的开头添加 Imports
行以支持它们用于 Xml 文字代码。
实际上我正在尝试使用 xmltextwriter 创建 xml,但我遇到了一些问题。
这就是我所做的
Dim writer As New XmlTextWriter("FactElec.xml", System.Text.Encoding.UTF8)
writer.WriteStartDocument(False)
writer.Formatting = Formatting.Indented
writer.Indentation = 2
writer.WriteStartElement("Invoice")
writer.WriteStartElement("sac:AdditionalMonetaryTotal")
writer.WriteElementString("cbc:id", "1001")
writer.WriteWhitespace("/n")
writer.WriteRaw("<cbc:PayableAmount currencyID=""PEN"">" + TotGrav +
"</cbc:PayableAmount>/n")
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Flush()
writer.Close()
问题是我在 writer.WriteWhitespace 中遇到错误,说它需要为空白,但我需要下一行出现下一个 WriteRaw。刚才它出现在 cbc:id
旁边谢谢,对不起,如果我不能解释得更好。
更新:或者,以防万一,如果您知道如何在不使用 WriteRaw 的情况下在 cbc:PayableAmount 中添加 currencyID=""PEN"",可能会更好,因为这就是让我遇到所有这些问题
您可以使用 XML Literals 以更简洁的方式创建 xml 文件。
Imports <xmlns:sac="http://yoursacnamespace">
Imports <xmlns:cbc="http://yourcbcnamespace">
Public Module XmlInvoiceHelper
Public Sub SaveWithValue(totGrav As Integer)
Dim xml As XElement =
<Invoice>
<sac:AdditionalMonetaryTotal>
<cbc:id>1001</cbc:id>
<cbc:PayableAmount currencyID="PEN"><%= totGrav %></cbc:PayableAmount>
</sac:AdditionalMonetaryTotal>
</Invoice>
Using writer As New XmlTextWriter("YourFile.xml", Encoding.UTF8)
xml.Save(writer);
End Using
End Function
End Module
对于命名空间 sac
和 cbc
,您需要在代码文件的开头添加 Imports
行以支持它们用于 Xml 文字代码。