私はインターネットを見回しましたが、私は問題を解決できませんでしたが、これは非常にシンプルであるはずです。XMLファイルに属性と文字列を追加する#
私はXML文書を持っています。そこに見える二つのノード:各ノードに2つの要素を追加した後
<Attachments>
</Attachments>
<Templates>
</Templates>
が、それらは次のようになります。
<Attachments>
<Attachment INDEX0="Test1" />
<Attachment INDEX1="Test2" />
</Attachments>
<Templates>
<Template INDEX0="Test1">EMPTY</Template>
<Template INDEX0="Test2">EMPTY</Template>
</Templates>
Iは最初のもののために、次のコードを試してみました:
XmlDocument doc = new XmlDocument();
doc.Load(Path.Combine(Directory.GetCurrentDirectory(), "test.xml"));
XmlElement root = doc.DocumentElement;
XmlNode node = root.SelectSingleNode("//Attachments");
List<String> list = new List<string>() {"Test1","Test2"};
foreach(var item in list)
{
XmlElement elem = doc.CreateElement("Attachment");
root.AppendChild(elem);
XmlNode subNode = root.SelectSingleNode("Attachment");
XmlAttribute xKey = doc.CreateAttribute(string.Format("INDEX{0}", list.IndexOf(item).ToString()));
xKey.Value = item;
subNode.Attributes.Append(xKey);
}
しかし、これは絶対に何もしません。この2つのケースをどのように達成できますか?
ありがとうございました!
これは素晴らしいことです!どうもありがとうございました! – Canox
1つの質問。どのようにして内部のテキストを入れますか?テンプレートノードのように? – Canox
@Canox今、あなたの最善の行動は、LINQ to XMLのドキュメントとチュートリアルを見ていくことです。要素にテキストを追加するには、コンストラクタparamsにテキストを挿入します。既存の要素または属性のテキストを設定するには、その 'Value'プロパティを設定します。 –