我想添加子節點在現有的XML插入基於ID在C#中現有的XML的新的子節點
<tblTemp>
<Details>
<LoginId>4</LoginId>
<AId>2</AId>
<OId>763</OId>
<LDate>2016-09-26</LDate>
<LTime>15:27:39</LTime>
<ReasonId>1</ReasonId>
<Flag>2</Flag>
</Details>
<Details>
<LoginId>3</LoginId>
<AId>2</AId>
<OId>763</OId>
<LDate>2016-09-26</LDate>
<LTime>12:22:39</LTime>
<ReasonId>4</ReasonId>
<Flag>2</Flag>
</Details>
<Details>
<LoginId>1</LoginId>
<AId>1</AId>
<OId>765</OId>
<LDate>2016-09-26</LDate>
<LTime>10:22:39</LTime>
<ReasonId>4</ReasonId>
<Flag>2</Flag>
</Details>
</tblTemp>
,我想這樣的
<tblTemp>
<Details>
<LoginId>4</LoginId>
<AId>2</AId>
<OId>763</OId>
<LDate>2016-09-26</LDate>
<LTime>15:27:39</LTime>
<FDate>2016-09-26</FDate>
<FTime>16:50:30</FTime>
<ReasonId>1</ReasonId>
<Flag>2</Flag>
</Details>
<Details>
<LoginId>3</LoginId>
<AId>2</AId>
<OId>763</OId>
<LDate>2016-09-26</LDate>
<LTime>12:22:39</LTime>
<FDate>2016-09-26</FDate>
<FTime>13:36:30</FTime>
<ReasonId>4</ReasonId>
<Flag>2</Flag>
</Details>
<Details>
<LoginId>1</LoginId>
<AId>1</AId>
<OId>765</OId>
<LDate>2016-09-26</LDate>
<LTime>10:22:39</LTime>
<FDate>2016-09-26</FDate>
<FTime>11:53:45</FTime>
<ReasonId>4</ReasonId>
<Flag>2</Flag>
</Details>
</tblTemp>
基於LoginId我想在xml文件中添加子節點。我一直在嘗試這樣的代碼。
//code for adding child node
string strDBDir = "C:\\XMLfile.xml";
try
{
DataSet dsxml = new DataSet();
DataView DvXML = null;
dsxml.ReadXml(strDBDir);
DvXML = dsxml.Tables[0].DefaultView;
DvXML.RowFilter = "AId = '" + AId + "'";
if (File.Exists(strDBDir))
{
if (DvXML.ToTable().Rows.Count > 0)
{
LoginId = Convert.ToInt32(DvXML.ToTable().Rows[0]["LoginId"]);
XmlDocument originalXml = new XmlDocument();
originalXml.Load(strDBDir);
XmlNode TechReport = originalXml.SelectSingleNode("Details");
XmlNode Data = originalXml.CreateNode(XmlNodeType.Element, "FDate", null);
TechReport.AppendChild(Data);
originalXml.Save(strDBDir);
}
}
catch
{
}
對於上面的代碼中,我得到一個exception-「對象引用不設置到對象的實例」 能否請您指導此,如何添加基於登錄ID在DBfile.xml的FDATE FTIME和而AId.I一直在爲此而苦苦掙扎。
哪一行,你收到此錯誤? – A3006