2016-11-25 6 views
1

xml을 만들 때 실제로 xmltextwriter를 사용하려고하지만 확실한 문제가 있습니다.XmlTextWriter : WhiteSpace의 문제

이 내가 문제가 내가 그것을 비워 둘 필요가 있다고 말하고, writer.WriteWhitespace에 오류를 가지고 있다는 것입니다,하지만 난 다음 WriteRaw가 다음 줄에 나타납니다 필요

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() 

을 한 것입니다. 방금 cbc : id 옆에 나타납니다.

감사합니다. 더 잘 설명 할 수 없으면 죄송합니다.

업데이트 : 또는 경우에 따라서는 cPc : PayableAmount에서 currencyID = ""PEN "을 어떻게 추가 할 수 있는지 알고 있다면 WriteRaw를 사용하지 않고 더 좋을 수 있습니다.

+0

첫째, 어떤 오류가 발생했는지, 어떤 출력을 얻고 있으며, 어떤 출력을보고 싶습니까? 둘째,'/ n'은 줄 바꿈 문자의 시도처럼 보입니다. 보통은 \ n이지만 VB에서는 작동하지 않습니다. 대신에'Environment.NewLine'을 사용할 수 있습니다. –

+0

아무것도를 받고, 내가 나에게 오류를 표시하지 임, 나는 그 부분에서,이 같은 필요 1004 48.00

답변

0

XML Literals을 작은 입찰가 방식으로 XML 파일을 만들 때 사용할 수 있습니다. 네임 스페이스 sac 및 들어

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 

cbc 당신은 XML을 리터럴 코드를 지원하기 위해 코드 파일의 시작 부분에 Imports 줄을 추가해야합니다.

+0

을 분리> AdditionalMonetaryTotal : xml.Save (작가) ("YourFile.xml", Encoding.UTF8) @ (VAR 작가 = 새로운 XmlTextWriter의)를 사용하여; 나는 vb.net –

+0

:)에서 일하고 있어요. 감사합니다 – Fabio

+0

정말 고마워, 당신이 날 많이 도와주세요 :)이 XML은 많은 라인을 가지고 있기 때문에 나는 고통 스러웠다. 그러나 이것으로 더 쉽게 할 수있다 :) –