簡體   English   中英

使用XmlWriter的具有名稱空間的XML

[英]XML with namespace using XmlWriter

我正在用c#創建XML文檔。 我想通過XmlWriter創建此輸出。 但是我無法獲得確切的輸出。

這是我需要生成的:

<ITRETURN:ITR xmlns:ITRETURN="http://incometaxindiaefiling.gov.in/main" xmlns:ITR1FORM="http://incometaxindiaefiling.gov.in/ITR1" xmlns:ITRForm="http://incometaxindiaefiling.gov.in/master" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <ITR1FORM:ITR1>
  <ITRForm:CreationInfo>
   <ITRForm:SWVersionNo>R1</ITRForm:SWVersionNo>
   <ITRForm:SWCreatedBy>SW92201920</ITRForm:SWCreatedBy>
   <ITRForm:XMLCreatedBy>SW92201920</ITRForm:XMLCreatedBy>
   <ITRForm:XMLCreationDate>2019-07-19</ITRForm:XMLCreationDate>
   <ITRForm:IntermediaryCity>Delhi</ITRForm:IntermediaryCity>
   <ITRForm:Digest>lOa90+jndV+RYN0ghOemod4eomQDqsSm6tw3w8XWsZQ= </ITRForm:Digest>
  </ITRForm:CreationInfo>
 </ITR1FORM:ITR1>
</ITRETURN:ITR>

如何使用XmlWriter生成它?

您可以使用以下代碼編寫該XML:

// Namespace constants
var ITRETURN = @"http://incometaxindiaefiling.gov.in/main";
var ITR1FORM = @"http://incometaxindiaefiling.gov.in/ITR1";
var ITRForm = @"http://incometaxindiaefiling.gov.in/master";
var xsi = @"http://www.w3.org/2001/XMLSchema-instance";

// Enable indenting and disable the XML declaration.
var settings = new XmlWriterSettings
{
    Indent = true,
    IndentChars = " ",
    OmitXmlDeclaration  = true,
};
using (var xmlWriter = XmlWriter.Create(textWriter, settings))
{
    // Write the start element and all namespaces.
    xmlWriter.WriteStartElement("ITRETURN", "ITR", ITRETURN);
    xmlWriter.WriteAttributeString("xmlns","ITRETURN", null, ITRETURN);
    xmlWriter.WriteAttributeString("xmlns","ITR1FORM", null, ITR1FORM);
    xmlWriter.WriteAttributeString("xmlns","ITRForm", null, ITRForm);
    xmlWriter.WriteAttributeString("xmlns","xsi", null, xsi);

    // Write the ITR1 element
    xmlWriter.WriteStartElement("ITR1", ITR1FORM);

    // Write the CreationInfo
    xmlWriter.WriteStartElement("CreationInfo", ITRForm);
    xmlWriter.WriteElementString("SWVersionNo", ITRForm, "R1");             
    xmlWriter.WriteElementString("SWCreatedBy", ITRForm, "SW92201920");             
    xmlWriter.WriteElementString("XMLCreatedBy", ITRForm, "SW92201920");                
    xmlWriter.WriteElementString("XMLCreationDate", ITRForm, "2019-07-19");             
    xmlWriter.WriteElementString("IntermediaryCity", ITRForm, "Delhi");             
    xmlWriter.WriteElementString("Digest", ITRForm, "lOa90+jndV+RYN0ghOemod4eomQDqsSm6tw3w8XWsZQ= ");               
    xmlWriter.WriteEndElement(); // CreationInfo

    xmlWriter.WriteEndElement(); // ITR1

    xmlWriter.WriteEndElement(); // ITR
}

筆記:

演示在這里擺弄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM