XmlWriterを使用してコードで作成する必要があるXMLファイルがあります。 XMLを受け取り、XmlWriterを使用してC#コードの行を生成するコードジェネレータはありますか?XMLからXmlWriter c#コードを生成する
0
A
答えて
1
私はアヌラーグの応答を取り、それを変更し、
<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="System.Xml" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.IO" #>
using System;
using System.Text;
using System.Xml;
namespace AutoGenerateXmlWriteCode
{
public class TestClass
{
#region Methods
public static void WriteXml()
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
settings.OmitXmlDeclaration = true;
using(var writer = XmlWriter.Create("out.xml", settings))
{
<#
foreach (XmlReader node in this.GetNames())
{
if(node.NodeType == XmlNodeType.Element) {
#>
writer.WriteStartElement(@"<#= node.Name #>"); // <#= node.Name #>
<#
if (node.HasAttributes)
{
node.MoveToFirstAttribute();
#>
writer.WriteAttributeString(@"<#= node.Name #>", @"<#= node.Value #>");
<#
while (node.MoveToNextAttribute())
{
#>
writer.WriteAttributeString(@"<#= node.Name #>", @"<#= node.Value #>");
<#
}
node.MoveToElement();
}
if (node.IsEmptyElement){
#>
writer.WriteEndElement(); // <#= node.Name #>
<#
}
}
if(node.NodeType == XmlNodeType.Text) {
#>
writer.WriteValue(@"<#= node.Value #>");
<# }
if(node.NodeType == XmlNodeType.EndElement) {
#>
writer.WriteEndElement(); // <#= node.Name #>
<# }
}
#>
}
}
#endregion
}
}
<#+
public IEnumerable<XmlReader> GetNames()
{
List<string> result = new List<string>();
string absolutePath = @"d:\MyFile.xml";
XmlReader rdr = XmlReader.Create(absolutePath);
while (rdr.Read())
{
yield return rdr;
}
}
#>
+0
私はあなたのために働いてうれしい –
0
2
を助けるかもしれないあなたはここにあなた自身のT4 Template
を書くことができ、あなたが始めるためにいくつかのコードは次のとおりです。
<#@ template language="C#" #>
<#@ assembly name="System.Core" #>
<# assembly name="System.Xml" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.IO" #>
using System;
using System.Text;
using System.Xml;
namespace Test
{
public class TestClass
{
#region Methods
public static void WriteXml()
{
using(var writer = XmlWriter.Create("out.xml"))
{
<#
foreach (XmlNode node in this.GetNames())
{
if(node.NodeType == XmlNodeType.Element) {
#>
writer.WriteStartElement(@"<#= node.Name #>");
<# }
if(node.NodeType == XmlNodeType.Comment) {
#>
writer.WriteComment(@"<#= node.Value #>");
<# }
}
#>
}
}
#endregion
}
}
<#+
public IEnumerable<XmlNode> GetNames()
{
List<string> result = new List<string>();
XmlDocument doc = new XmlDocument();
string absolutePath = @"c:\data\XMLFile1.xml";
doc.Load(absolutePath);
foreach (XmlNode node in doc.ChildNodes)
{
yield return node;
}
}
#>
関連する問題
- 1. 出力XMLWriterからXMLファイル
- 2. 書き込みXML-コードするXMLWriter
- 3. gsoapでXMLデータを生成してC++コードを生成する
- 4. C++生成コード(MATLABから)
- 5. XMLファイルからのコード生成
- 6. C#コードからUML図を生成
- 7. C#XmlWriter
- 8. C#コードを生成するためのXML構文
- 9. MATLAB関数からのCコード生成
- 10. WCFでXMLWriterによって生成されたXML名前空間の競合を生成するカスタムエンコーダ
- 11. C#コード生成
- 12. xmlから 'relaxed' xsdを生成する
- 13. objective c XMLWriter
- 14. C#XmlWriter WriteStartAttribute
- 15. C#でXMLドキュメントハッシュを生成
- 16. Google C++ユニットテストXMLレポートを生成する
- 17. ASP.NetとC#.Netコードからフローダイアグラムを生成するには?
- 18. HDF5 Cコード生成
- 19. C#コードからアセンブリコードを生成しますか?
- 20. XSDからコードを生成
- 21. Cでコードを生成
- 22. C/C++ scilabのxcosからのコード生成
- 23. XMLが変更された場合にのみ、XMLからC#クラスを生成
- 24. Visual Studioコード - .netコア - xmlドキュメントを生成
- 25. OracleテーブルのC#コードを生成
- 26. VS 2010からのHTML /ヘルプファイルの生成C#XMLドキュメント
- 27. H2OモデルからC#を生成する
- 28. C#のコード生成テンプレート
- 29. XSDコード生成(C#)with xsd:
- 30. node.jsのwsdlからリクエストXMLを生成
なぜXmlWriterを使用するのですか? XMLへのLINQの使用ははるかに簡単です。そして、いいえ、私はそのようなツールについて聞いたことがありません。 –