首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XmlTextWriter: WhiteSpace的问题

XmlTextWriter: WhiteSpace的问题
EN

Stack Overflow用户
提问于 2016-11-25 17:14:35
回答 1查看 142关注 0票数 1

实际上,我正在尝试使用xmltextwriter创建xml,但我确实存在一些问题。

这就是我所做的

代码语言:javascript
运行
复制
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 )可能会更好,因为这正是造成我所有这些问题的原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-25 18:28:39

您可以使用XML文字以更干净的方式创建xml文件。

代码语言:javascript
运行
复制
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

对于名称空间、saccbc,您需要在代码文件的开头添加Imports行,以支持它们的Xml文字代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40809830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档