コンマ区切りの文字列をXML形式にするにはどうすればいいですか?

StackOverflow https://stackoverflow.com/questions/251753

  •  05-07-2019
  •  | 
  •  

質問

VB.net(.net 2.0)の使用 この形式の文字列があります:

record1_field1,record1_field2,record2_field3,record2_field1,record2_field2,

etc ...

これをxmlに入れる最良の(最も簡単な)方法は何だろうか?

2つの方法が考えられます:

方法1: -分割を使用して配列内のアイテムを取得する -配列をループし、連結を使用してxml文字列を構築します

方法2: -分割を使用して配列内のアイテムを取得する -配列をループしてデータテーブルを構築します -writexmlを使用して、データテーブルからxmlを出力します

最初のコードは非常にシンプルに聞こえますが、文字列を作成するためにより多くのロジックが必要です。

2番目は、より滑らかで理解しやすいようです。

これを行う他の方法はありますか?

役に立ちましたか?

解決

このようなことをします:


XmlDocument doc = new XmlDocuent();

string[] data = csv.split(',');

XmlNode = doc.CreateElement("root");
foreach(string str in data)
{
    XmlNode node = doc.CreateElement("data");
    node.innerText = str;
    root.AppendChild(node);
}
Console.WriteLine(doc.InnerXML);

次のようなものを返す必要があります:


<root>
    <data>field 1</data>
    <data>field 2</data>
    <data>field 3</data>
</root>

ネストされたデータでは、ループをネストするか、少し異なる方法でトークン化する必要があります...

他のヒント

文字列の連結を行う代わりに、XmlDocumentを作成し、文字列から適切なXmlElementおよびXmlAttributeオブジェクトを詰め込むこともできます。次に、XmlDocumentオブジェクトを書き出します...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top