2014-03-26 1 views
0

필수 형식이 아닌 C# 코드로 만든 xml 데이터가 있습니다. 어느 누구도이 일을 수행 할 수있는 방법을 제안 할 수 있습니까? 이것에 대한Xml 서식 지정자 및 작성자 설정

C# 코드 :

<?xml version="1.0" encoding="utf-8" ?> 
    - <Request xmlns="http://www.timvw.be/ns"> 
- <MyData> 
    <DATA1>91.689117127891</DATA1> 
    <DATA2>0.18242169290979</DATA2> 
    </MyData> 
    </Request> 

그러나 나는 형식 아래에서 XML 데이터가 필요 :

<?xml version="1.0" encoding="utf-16" ?> 
- <Request xmlns="http://www.ABC.com/submit" xmlns:l="http://www.ABC.com/link" l:source="SRC" l:date="2014-03-05"> 
- <MyData l:identifier="PRAV" l:value="151.19448366182007269092408546"> 
    <DATA1 l:value="0.151328110447635" /> 
    <DATA2 l:value="0.6461191930062688087600920641" /> 
    <DATA3 l:value="0.144793773777417" /> 
    </MyData> 
    </Request> 

어느 한 무엇을 제안 할 수 C#을에 의해 생성 된

  XmlWriterSettings xmlWriterSettings = new XmlWriterSettings(); 

      xmlWriterSettings.Encoding = Encoding.UTF8; 

      using (XmlWriter writer = XmlWriter.Create("SNP.xml",xmlWriterSettings)) 
      {      
       writer.WriteStartDocument(); 
       writer.WriteStartElement("Request","http://www.ABC.com/submit"); 

       foreach (DataRow row in ExcelData.Rows) 
       { 
        writer.WriteStartElement(ExcelData.Rows[counter]["MyDATA"].ToString()); 


        writer.WriteElementString("DATA1", ExcelData.Rows[counter]["DATA1"].ToString()); 
        writer.WriteElementString("DATA2", ExcelData.Rows[counter]["DATA2"].ToString()); 

        writer.WriteEndElement(); 
       } 
       writer.WriteEndElement(); 
       writer.WriteEndDocument(); 
      } 

데이터 가져올 C# 코드로 설정해야합니다

답변

1

값을 XmlAttribute로 쓰려면 다음을 시도하십시오.

writer.WriteStartElement("DATA1"); 
writer.WriteAttributeString("l:value", ExcelData.Rows[counter]["DATA1"].ToString()); 
writer.WriteEndElement();