我有 XML 格式。我想从xml节点中删除特定标记。怎么做。
XML格式:
<?xml version="1.0"?>
<EmployeeResults>
<MainArea>
<CreationDateTime>2016-06-28T06:10:51.5215523Z</CreationDateTime>
</MainArea>
<SubArea>
<Show>
<ID>TEST1</ID>
</Show>
<ProductionPerformance>
<ID>Fabrication_ERP_MES_DEM_1-A</ID>
<ProductionResponse>
<ID>123</ID>
<StartTime>0001-01-01T00:00:00Z</StartTime>
<EndTime>0001-01-01T00:00:00Z</EndTime>
<EmployeeResponse>
<ID>LotEmployeeResponse</ID>
<ActualStartTime>2016-06-28T05:58:41.673Z</ActualStartTime>
<ActualEndTime>0001-01-01T00:00:00Z</ActualEndTime>
<Quantity>
<QuantityString>1</QuantityString>
</Quantity>
</MaterialActual>
<TagName1>
<ID>Test1</ID>
</TagName1>
<TagName2>
<ID>Test2</ID>
</TagName2>
</EmployeeResponse>
</ProductionResponse>
</ProductionPerformance>
</SubArea>
</EmployeeResults>
我想删除TagName1节点&amp;为TagName3添加新标记名称。如何删除和添加新节点。
请帮我解决这个问题。
答案 0 :(得分:0)
这应该这样做。 xmlInput是您的xml字符串,使用xpath选择特定元素。 https://msdn.microsoft.com/en-us/library/d271ytdx(v=vs.110).aspx
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlInput);
XmlNode node = doc.SelectSingleNode("XPATh");
if (node != null)
{
node.Remove();
}
答案 1 :(得分:0)
我建议您使用Linq
来Xml
XDocument doc= XDocument.Load(filepath);
// Remove the element
doc.Descendants("TagName1")
.Remove();
// Add new Element - Test3
doc.Descendants("EmployeeResponse")
.ElementAtOrDefault(0)
.Add(new XElement("TagName3", new XElement("ID", "Test3")));
检查Demo