如何使用xml Document在现有元素下添加新元素
发布时间:2020-12-16 07:59:07 所属栏目:百科 来源:网络整理
导读:我有一个名为“Dispute”的元素,并希望在元素下面添加新的元素名称“Records”. 例如:当前的XML采用这种格式 NonFuel DescNon-Fuel/Desc Description /Description Quantity/ Amount/ Additional/ Dispute0/Dispute/NonFuel 需要添加有争议的新元素. NonFue
我有一个名为“Dispute”的元素,并希望在元素下面添加新的元素名称“Records”.
例如:当前的XML采用这种格式 <NonFuel> <Desc>Non-Fuel</Desc> <Description> </Description> <Quantity/> <Amount/> <Additional/> <Dispute>0</Dispute> </NonFuel> 需要添加有争议的新元素. <NonFuel> <Desc>Non-Fuel</Desc> <Description> </Description> <Quantity/> <Amount/> <Additional/> <Dispute>0</Dispute> <Records>01920</Records> </NonFuel> 更新的代码: XmlDocument xmlDoc=new XmlDocument() xmlDoc.LoadXml(recordDetails); XmlNodeList disputes = xmlDoc.GetElementsByTagName(disputeTagName); XmlNode root = xmlDoc.DocumentElement; foreach (XmlNode disputeTag in disputes) { XmlElement xmlRecordNo = xmlDoc.CreateElement("RecordNo"); xmlRecordNo.InnerText = Guid.NewGuid().ToString(); root.InsertAfter(xmlRecordNo,disputeTag); }
必须在父节点上调用InsertAfter(在您的情况下为“NonFuel”).
nonFuel.InsertAfter(xmlRecordNo,dispute); 它可能看起来有点令人困惑,但它以这种方式读取:您要求父节点(nonFuel)在现有节点(争议)之后添加新节点(xmlRecordNo). 这里有一个完整的例子: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(@"<NonFuel><Desc>Non-Fuel</Desc><Description></Description><Quantity/><Amount/><Additional/><Dispute>0</Dispute></NonFuel>"); XmlNode nonFuel = xmlDoc.SelectSingleNode("//NonFuel"); XmlNode dispute = xmlDoc.SelectSingleNode("//Dispute"); XmlNode xmlRecordNo= xmlDoc.CreateNode(XmlNodeType.Element,"Records",null); xmlRecordNo.InnerText = Guid.NewGuid().ToString(); nonFuel.InsertAfter(xmlRecordNo,dispute); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |