我实际上是在尝试使用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:PayableAmount中添加currencyID =“”PEN“”,而不使用WriteRaw,可能会更好,因为这就是让我遇到所有这些问题的原因< / p>
答案 0 :(得分:0)
您可以使用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文字代码。