实际上,我正在尝试使用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旁边。
如果我不能解释得更好的话,谢谢和抱歉。
更新:或者,以防万一,如果您知道如何在cbc中添加currencyID=“PEN”:PayableA装入(不使用WriteRaw )可能会更好,因为这正是造成我所有这些问题的原因。
发布于 2016-11-25 18:28:39
您可以使用XML文字以更干净的方式创建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文字代码。
https://stackoverflow.com/questions/40809830
复制相似问题