時間を割いて私を助けてくれてありがとう!
私は現在2つの問題を抱えており、一方が他方を引き起こしていると思います。基本的に、既存のXMLファイルに追加のノードを挿入し、それをdataGridViewからのデータで埋めようとしています。これが私が変更しようとしているXMLです。「Language」タグを追加する必要があります。
<stentry>
<index>28</index>
<sid>PARAM_TITLE1</sid>
<val>
<en>Param 1</en>
<es>parámetro 1</es>
***<Language>String<language>***
</val>
<params>
<fontref>187</fontref>
<numref>0</numref>
<clip>FALSE</clip>
<include>FALSE</include>
<protected>FALSE</protected>
<cwidth>-1</cwidth>
<dwidth>0</dwidth>
</params>
</stentry>
ただし、タグが他の場所で使用されているという問題にも直面しています。
<module>
..
<color>
<name>DIALOG</name>
<val>ffd4dbee</val>
<id>41a</id>
</color>
<color>
<name>WIDGET_FILL</name>
<val>ffc0c0c0</val>
<id>41c</id>
</color>
..
</module>
現在、このメソッドを使用してデータを挿入しています。
int n = 0;
XmlNodeList nodeList = xDoc.GetElementsByTagName("val");
foreach (XmlNode node in nodeList)
{
if (node.OuterXml.Contains("val"))
{
XmlElement newElement = xDoc.CreateElement(tag);
**string data = dataGridView1.Rows[n].Cells[3].Value.ToString();**
XmlText txtVal = xDoc.CreateTextNode(data);
XmlNode parent1 = node.ParentNode;
parent1.AppendChild(newElement);
parent1.LastChild.AppendChild(txtVal);
n++;
}
}
問題は、現時点で、強調表示された行でNullReferenceExceptionが発生することです。これは、必要な場所の前に誤ったタグにデータが入れられているためだと思います。したがって、必要な場所にデータを配置しようとすると、値はnullになります。しかし、私はこれに100%取り組んでいないので、助けを求めてきました。
どうもありがとう!