xml에서 diffgram
및 NewDataSet
태그를 제거하고 싶습니다.XML에서 diffgram 및 NewDataSet 태그를 C#
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet>
<MACNET diffgr:id="MACNET1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<BATCH_ID>131070</BATCH_ID>
<BATCH_Date_Submitted>12/1/2014 7:36:06 AM</BATCH_Date_Submitted>
<BATCH_Date_Received>12/1/2014 7:36:06 AM</BATCH_Date_Received>
</MACNET>
</NewDataSet>
</diffgr:diffgram>
나는 XmlSerializer를하여 dataset
에서이 XML을 생성했다. 다음 코드를 사용했습니다.
//Serialize dataset
using (var memoryStream = new MemoryStream())
{
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
using (TextWriter streamWriter = new StreamWriter(memoryStream))
{
var xmlSerializer = new XmlSerializer(typeof(DataSet));
xmlSerializer.Serialize(streamWriter, ds, ns);
return Encoding.UTF8.GetString(memoryStream.ToArray());
}
}
나는 xml
에서 <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
및 <NewDataSet>
태그를 제거합니다. MACNET 태그에서 diffgr:id="MACNET1" msdata:rowOrder="0" diffgr:hasChanges="inserted"
을 삭제하고 싶습니다. 어떻게 제거 할 수 있습니까?
내가 출력
<MACNET>
<BATCH_ID>131070</BATCH_ID>
<BATCH_Date_Submitted>12/1/2014 7:36:06 AM</BATCH_Date_Submitted>
<BATCH_Date_Received>12/1/2014 7:36:06 AM</BATCH_Date_Received>
</MACNET>
답장을 보내 주셔서 감사합니다. 나는 당신의 코드를 시도했다. 하지만 그것은 내 스키마를 제거합니다. 나는 그것을 제거하고 싶지 않다. –
@AjayPunekar - ['ds.WriteXml (writer, XmlWriteMode.WriteSchema)'] (http://msdn.microsoft.com/en-us/library/system.data.xmlwritemode%28v=vs.110%)를 사용해보십시오. 29.aspx) 과부하. – dbc
@AjayPunekar - 또는 스키마를 작성하려면 ['ds.WriteXmlSchema (writer)'] (http://msdn.microsoft.com/en-us/library/1a1f26zy%28vs.110%29.aspx)를 사용하십시오 다중 루트 XML 문서에 문제가있는 경우를 대비하여 별도의 문자열로 변환하십시오. – dbc